【发布时间】:2013-12-24 18:41:00
【问题描述】:
我正在创建一个 NSDate。为什么一天总是少一天?
这是代码:
NSDate *today = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps = [gregorian components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:today];
[comps setDay:31];
NSDate *lastDayOfMonth = [gregorian dateFromComponents:comps];
NSLog(@"last %@",lastDayOfMonth);
这是日志:
last 2013-12-30 23:00:00 +0000
结果是 30 而不是 31
【问题讨论】: