這是一個非常基本的問題,我想,但我似乎無法在任何書中找到答案。如何創建NSDate,如'2013-05-11 00:00:00'
假設我有一個約會,這樣創建:
NSDate *today = [NSDate date];
但我想「今天」的一部分時間更改爲00:00:00' 。我怎樣才能做到這一點?
---- ----添加
我嘗試這樣做:
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setDay:11];
[components setMonth:5];
[components setYear:2013];
[components setHour:0];
[components setMinute:0];
[components setSecond:0];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *startDate = [calendar dateFromComponents:components];
NSLog(@"Current date: %@", startDate);
但NSLog的打印出這一點:
Current date: 2013-05-11 04:00:00 +0000
我猜這事做我的紐約時區?
- ANSWER -
以下是任何正在尋找它的人的答案。訣竅,以消除時間04:00:00
是設置時區爲GMT:
[calendar setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
- 修訂答案 -
但是你可能真的要在本地時間 - 例如,如果你需要按日期查找核心數據中的記錄,並且存儲的日期在當地時間 - 因此您可能不希望將時區設置爲GMT。
NSDateFormatter你需要 – nsgulliver 2013-05-14 15:06:37
我不能看到如何使用NSDateFormatter爲這......我想到的是NSDateComponents,但一直未能弄明白。 – John 2013-05-14 15:10:31
可能的重複[如何獲得今天午夜NSDate對象?](http://stackoverflow.com/questions/9040319/how-can-i-get-an-nsdate-object-for-today-at -midnight)或[如何創建當前日期(或任何日期)作爲一個NSDate無小時,分鐘和秒?](http://stackoverflow.com/questions/4832536/how-do-i-create-the -current-date-or-any-date-as-an-nsdate-without-hours-minut/4832602#4832602) – 2013-05-14 15:12:02