0

知道为什么此代码输出“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]);
4

1 回答 1

0

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

[NSTimeZone systemTimeZone];

或者

[NSTimeZone localTimeZone];
于 2011-11-30T23:36:09.110 回答