【发布时间】:2013-12-30 12:18:50
【问题描述】:
我从 dateFromComponents 得到 2012 年,而我当前的日期是 2013 年。为什么会这样?我没有在任何地方更改年份。
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *comp = [cal components:NSCalendarUnitYear fromDate:[NSDate date]];
NSLog(@"%ld", (long)[comp year]); //2013
NSLog(@"%@", [cal dateFromComponents:comp]); // 2012-12-31 23:00:00 +0000
【问题讨论】:
-
TimeZone/NSLocale 问题,我猜?
-
你检查过你的系统时间,检查设备并看到同样的情况
-
@SteveJobs 我确实从设备上检查过。在我测试的每台设备上都是这样。
-
你总是得到“2012-12-31 23:00:00 +0000”??您必须非常幸运才能始终获得该日期/时间。在我看来,您并没有向我们展示所有代码。
标签: ios iphone nsdate nscalendar