我的代码如下
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时区?
我该如何解决这个问题?我必须处理时区吗?
非常感谢!