gpt4 book ai didi

ios - dateByAddingTimeInterval中的错误

转载 作者:行者123 更新时间:2023-12-01 17:55:53 25 4
gpt4 key购买 nike

经过几乎疯狂的搜索,我的代码在哪里失败了……我得以隔离这种奇怪的行为。减去-200天,看看会发生什么

NSDate *now = [NSDate date]; //now is 2013-07-19

NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"YYYY-MM-dd"];

NSDate *newDate1 = [now dateByAddingTimeInterval:60*60*24*-199];
newDateTmp=[format stringFromDate:newDate1];
NSLog(@"now:%@ newDateTmp:%@",now,newDateTmp);

newDate1 = [now dateByAddingTimeInterval:60*60*24*-200];
newDateTmp=[format stringFromDate:newDate1];
NSLog(@"now:%@ newDateTmp:%@",now,newDateTmp);

newDate1 = [now dateByAddingTimeInterval:60*60*24*-201];
newDateTmp=[format stringFromDate:newDate1];
NSLog(@"now:%@ newDateTmp:%@",now,newDateTmp);

newDate1 = [now dateByAddingTimeInterval:60*60*24*-365];
newDateTmp=[format stringFromDate:newDate1];
NSLog(@"now:%@ newDateTmp:%@",now,newDateTmp);

日志:

2013-07-19 15:58:46.123 Vendes [2927:907]现在:2013-07-19 13:58:46 +0000 newDateTmp:2013-01-01 //可以了

2013-07-19 15:58:46.124 Vendes [2927:907]现在:2013-07-19 13:58:46 +0000 newDateTmp:2013-12-31 //这不正确!!!看看YEAR

2013-07-19 15:58:46.125 Vendes [2927:907]现在:2013-07-19 13:58:46 +0000 newDateTmp:2012-12-30 //可以了

2013-07-19 15:58:46.127 Vendes [2927:907]现在:2013-07-19 13:58:46 +0000 newDateTmp:2012-07-19 //这样就可以了

我想明天减去201 .. ??还会开门。 :)

任何的想法?

谢谢

PS。我用解决了
NSDate *newDate1= [NSDate dateWithTimeInterval:60*60*daysToAdd sinceDate:now];

适用于任何daysToAdd值。

最佳答案

这不是错误。您使用的格式错误。它应该是

@"yyyy-MM-dd"

用小写的 y
大写的Y上的 More information:

Y-年(基于“年度”的日历中)。今年的指定
用于ISO 8601定义的ISO年周日历中,但可以
用于非格里高利历系统,其中星期日期
需要处理。 的值可能并不总是与日历相同
年。

关于ios - dateByAddingTimeInterval中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17751503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com