NSDate *today = [NSDate date];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
[calendar setLocale:[NSLocale currentLocale]];
[calendar setTimeZone:[NSTimeZone timeZoneWithName:@"US/Central"]];
NSDateComponents *nowComponents = [calendar components:NSYearCalendarUnit | NSWeekCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:today];
[nowComponents setHour:hour];
[nowComponents setMinute:0];
[nowComponents setSecond:0];
NSLog(@"%@", [calendar dateFromComponents:nowComponents]);
日志2012-01-01 06:00:00 +0000
。时间根据时区设置是正确的,但今天是7月20日...我做错了什么?ios今天获得12AM
是来自“NSLog(@”%@“,今天)的日志;” ?如果是这样,它可能是关闭iPhone /模拟器的日期...(因为开始日期已经关闭) – Xval 2012-07-20 15:18:48
@Xval touche。我从记忆中把它放在那里,这是离开的。它现在更新以反映真实的代码。 +1进行更正。 – Jacksonkr 2012-07-20 15:21:01