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