Dee*_*uti 1 date objective-c nsdate foundation ios
几乎疯狂地搜索我的代码失败的地方......我能够隔离这种奇怪的行为.减去-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);
Run Code Online (Sandbox Code Playgroud)
日志:
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 //这是不正确的!看看年份
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 ... :)
任何的想法?
THKS
PS.我用它解决了
NSDate *newDate1= [NSDate dateWithTimeInterval:60*60*daysToAdd sinceDate:now];
Run Code Online (Sandbox Code Playgroud)
适用于任何daysToAdd值.
这不是一个bug.你使用的格式是错误的.它应该是
@"yyyy-MM-dd"
Run Code Online (Sandbox Code Playgroud)
低壳的 y
Y- 年份(基于"年度周"的日历).今年的指定用于ISO 8601定义的ISO年 - 周日历,但可用于需要周日处理的非基于格里高利的日历系统.可能并不总是与日历年相同的值.
| 归档时间: |
|
| 查看次数: |
926 次 |
| 最近记录: |