【发布时间】:2012-02-01 04:36:54
【问题描述】:
我的代码如下所示
NSDateComponents *components = [[NSDateComponents alloc] init];
components.year = [aDay.year intValue]; // 2012
components.month = [aDay.month intValue]; // 2
components.day = [aDay.day intValue]; // 1
components.hour = components.minute = components.second = 0;
NSDate *now = [self.calender dateFromComponents:components];
关于self.calendar,我尝试了两种方法:
self.calendar = [NSCalendar currentCalendar];
self.calender = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
但在此之后,当我打印“现在”日期时,总是这样:
(gdb) po now
2012-01-31 16:00:00 +0000
“现在”的日期应该是 2012-02-01 00:00:00
显然有 8 小时的时差,我现在在中国,所以我猜是 +0800 时区?
我该如何解决这个问题?我必须处理时区吗?
非常感谢!
【问题讨论】:
标签: timezone nsdate nscalendar nsdatecomponents