我有一个存储的NS日期,记录为
2013-03-15 00:00:01 +0000
我认为+0000是UTC时间。但是,当我尝试
时NSCalendar* theCalendar = [NSCalendar currentCalendar];
unsigned theUnitFlags = NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents* compsForDate = [theCalendar components:theUnitFlags fromDate:compDate];
comps记录为:
<NSDateComponents: 0xc0537b0>
Calendar Year: 2013
Month: 3
Leap month: no
Day: 14
Hour: 20
Minute: 0
Second: 1
Weekday: 5
我原本假设那天是15,小时是0,因为我认为这个日期没有时区。谁能告诉我哪里出错了?
答案 0 :(得分:4)
有一个与该日期相关联的时区-UTC。还有一个与您的日历相关的时区;可能是您的区域设置的时区(无论如何都是默认值)。日历为您提供了在其时区中解释该日期所产生的日期组件。
答案 1 :(得分:1)
时间字符串中的+0000表示UTC(格林威治,英格兰)的小时偏移量。您在帖子中包含的结果时间成分是考虑当地时区的时间。根据比较,您当地的时区距离UTC还有-4小时。
凯文。