11
A
回答
20
NSDate
對象沒有時區。他們代表了一個絕對的時刻。但是,當您詢問description
(例如通過打印NSLog()
)時,它必須選擇一個時區。最合理的「默認」選擇是格林威治標準時間。如果你自己不在GMT,那麼日期似乎是不正確的,以你自己的偏移量爲準。
您應始終使用NSDateFormatter
創建一個字符串進行顯示。格式化程序的時區應該設置爲你的默認值。
2
你可以得到你日期更正如下:
NSDate * dateGMT = [NSDate date];
NSTimeInterval secondsFromGMT = [[NSTimeZone localTimeZone] secondsFromGMT];
NSDate * correctDate = [dateGMT dateByAddingTimeInterval:secondsFromGMT];
0
-(NSDate *)getDateInCurrentSystemTimeZone
{
NSDate* sourceDate = [NSDate date];
NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
NSTimeZone* destinationTimeZone = [NSTimeZone systemTimeZone];
NSInteger sourceGMTOffset = [sourceTimeZone secondsFromGMTForDate:sourceDate];
NSInteger destinationGMTOffset = [destinationTimeZone secondsFromGMTForDate:sourceDate];
NSTimeInterval interval = destinationGMTOffset - sourceGMTOffset;
NSDate* destinationDate = [[NSDate alloc] initWithTimeInterval:interval sinceDate:sourceDate];
return destinationDate;
}
相關問題
- 1. 獲得一個NSDate日期的日期從一個類別中
- 2. 獲得通過的日期時間
- 3. R:截止日期時間
- 4. 如何在幾小時內獲得兩個日期的差異?
- 5. datepicker截止日期
- 6. 得到兩個日期之間的日期,按星期幾
- 7. 一個SQL存儲過程獲取兩種不同截止日期格式的截止日期
- 8. NSDate從NSString獲取錯誤的日期
- 9. Ionic2日期時間從最小日期
- 10. 如何通過從另一個日期中減去一個日期來獲得日期結果
- 11. 獲得特殊日期列該列包含日期,小時,秒
- 12. 如何通過提供開始日期獲得下一個10日星期日?
- 13. 獲取日期截止到4小時前
- 14. 當截止日期小於今天的日期時隱藏內容 - rails 4
- 15. 日期時間倒計時,截止
- 16. 從NSDate值獲取日期零件
- 17. 使用UTC時間獲取[NSDate日期]
- 18. PHP - 截止日期查詢
- 19. jQuery Datepicker截止日期
- 20. 設定截止日期軌
- 21. 截止日期估計
- 22. Qt UI截止日期
- 23. PowerShell中獲得通過日期
- 24. 如何通過日期獲得匯率?
- 25. 如何從日期值獲得的日期,小時和分鐘在Oracle
- 26. 比較NSDate [NSDate日期]
- 27. Django - 從時間戳中獲得截然不同的日期
- 28. 獲取upcomming過期日期通知和SQL中獲取日期
- 29. SimpleDateFormat返回24小時日期:如何獲得12小時日期?
- 30. NSdate星期日重複日期
您在GMT + 2時區? –
是的,爲什麼這個問題呢? – MTA
我猜測它會告訴你UTC時區中的日期而不是你的日期。 –