[NSDate date]在模擬器上返回GMT ......它在設備上返回什麼時間......?而且我怎樣才能以編程方式獲得模擬器時間?關於[NSDate date]的困惑
回答
它返回當前日期和時間。 NSDate與時區無關。 NSDate的-description
可能在格林威治標準時間,但不保證。
該表示不保證在操作系統的不同版本之間保持不變。要格式化一個日期,您應該使用日期格式化程序對象。
如果你想顯示或在不同的時區分析日期,使用NSDateFormatter(並修改其時區/區域設置屬性),或使用-descriptionWithLocale:
。
NSLocale* currentLocale = [NSLocale currentLocale]
NSLog(@"current locale = %@", [currentLocale localeIdentifier]);
NSLog(@"date = %@", [[NSDate date] descriptionWithLocale:currentLocale];
NSDate與時區無關。當您獲得description
的描述時,它會顯示一個時區,但這完全是「信息性」,據我所知,無法設置或訪問該時區信息(description
除外)。存儲在NSDate對象中的值是(應該是)GMT/UTC(儘管當然它不能告訴你是否在錯誤的時間餵食它)。
要獲得模擬器對當前時間和日期的理解,請使用[NSDate date]
。使用NSDateFormatter格式化它(如果需要的話)。
如果我使用.. NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@「yyyy-MM-dd hh:mm:ss」]; NSString * theDate = [dateFormatter stringFromDate:[NSDate date]]; NSLog(@「the date%@」,theDate);這給我適當的價值(我目前的系統時間),即使我沒有指定時區。 – 2012-01-04 12:54:29
當你這樣做時,NSDateFormatter隱式地拿起當前的時區和區域設置。如果你想要不同的東西,你可以明確地設置這些東西。 – 2012-01-04 13:25:05
好的......那我怎樣才能得到一個包含我係統日期的nsdate對象......? – 2012-01-04 13:32:23
- 1. Task.Factory.StartNew - 關於池的困惑
- 2. 關於MutationObserver的困惑
- 3. 關於objc_getClass的困惑
- 4. 關於DBus的困惑
- 5. 關於AverageTimer32 PerformanceCounter的困惑
- 6. 關於Thread.Join的困惑
- 7. 關於MusicService的困惑
- 8. 關於結構的困惑
- 9. 關於memset的困惑
- 10. 關於FTP的困惑
- 11. 關於Access Specifier的困惑
- 12. 關於線程的困惑
- 13. 關於Kleene星的困惑
- 14. 關於PhoneGap/Cordova的困惑
- 15. 關於MKOverlayView的困惑
- 16. 關於流的困惑
- 17. 關於GAC的困惑
- 18. 關於CTE的困惑
- 19. 關於URLMapping的困惑
- 20. 關於InetAdress.getByName()的困惑
- 21. 關於「implements Runnable」的困惑
- 22. iPhone:關於NSAutoreleasePool的困惑
- 23. 關於鎖的困惑
- 24. 關於FROM_UNIXTIME的困惑
- 25. 關於回調的困惑
- 26. 關於require.js的困惑
- 27. 關於pthread_cond_wait的困惑
- 28. 關於ThreadLocal的困惑
- 29. 關於printf輸出困惑
- 30. 困惑關於查詢
在我的模擬器上,它正在返回GMT時間.. 12:36:33而我的模擬器的實際時間顯示爲6:09 pm ..:O – 2012-01-04 12:42:42
@AnkitSrivastava:你如何打印時間? – kennytm 2012-01-04 12:44:49
NSLog(@「nsdate%@」,[NSDate date]); – 2012-01-04 12:45:39