为什么NSCalendar日期与NSDateComponents组件日期不同?
问题描述:
任何想法,为什么这段代码输出 “2011-11-30 23:00:00 +0000”,而不是 “2011-12-01 00:00:00 +0000”为什么NSCalendar日期与NSDateComponents组件日期不同?
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]);
答
您需要设置NSDateComponent timeZone属性以匹配您的NSCalendar timeZone属性。你可以,例如,他们都设置为
[NSTimeZone systemTimeZone];
或
[NSTimeZone localTimeZone];