为什么NSCalendar日期与NSDateComponents组件日期不同?

时间:2011-11-30 23:09:09

标签: ios nsdate nsdatecomponent

任何想法为什么这段代码输出“2011-11-30 23:00:00 +0000”而不是“2011-12-01 00:00:00 +0000”

NSDateComponents *minDateComponents = [[NSDateComponents alloc] init];
[minDateComponents setYear:2011];
[minDateComponents setMonth:12];
[minDateComponents setDay:1];
[minDateComponents setHour:00];
[minDateComponents setMinute:00];
[minDateComponents setSecond:0];
[minDateComponents setTimeZone:nil];

NSLog(@"%@",[[NSCalendar currentCalendar] dateFromComponents:minDateComponents]);

1 个答案:

答案 0 :(得分:0)

您需要设置NSDateComponent timeZone属性以匹配您的NSCalendar timeZone属性。例如,您可以将它们都设置为

[NSTimeZone systemTimeZone];

[NSTimeZone localTimeZone];