【发布时间】:2016-04-01 09:20:55
【问题描述】:
我知道NSDateComponents,但问题是当日期在一年的开头或结尾时,某种基于周的机制会弄乱结果。
例如:
NSCalendar *calendar = [NSCalendar currentCalendar];
NSCalendarUnit calendarUnit = NSYearCalendarUnit;
NSDateComponents *dateComponents = [calendar components:calendarUnit fromDate:self.date];
(lldb) po self.date
2015-12-31 16:00:00 +0000
(lldb) po dateComponents
<NSDateComponents: 0x12f4c83f0>
Calendar Year: 2016
更改minimumDaysInFirstWeek 也没有太大区别,NSDateFormatter 似乎也不是更好的方法。
【问题讨论】:
-
您的时区是多少。你是 >+8:00 吗?
-
@Larme yes (lldb) po [[NSCalendar currentCalendar] timeZone] Asia/Shanghai (GMT+8) offset 28800
标签: ios nsdate nscalendar nsdatecomponents