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. R:截止日期時間
- 2. datepicker截止日期
- 3. 得到兩個日期之間的日期,按星期幾
- 4. 一個SQL存儲過程獲取兩種不同截止日期格式的截止日期
- 5. 如何通過從另一個日期中減去一個日期來獲得日期結果
- 6. 獲得特殊日期列該列包含日期,小時,秒
- 7. 獲取日期截止到4小時前
- 8. 當截止日期小於今天的日期時隱藏內容 - rails 4
- 9. 從NSDate值獲取日期零件
- 10. jQuery Datepicker截止日期
- 11. 如何通過日期獲得匯率?
- 12. PowerShell中獲得通過日期
- 13. 比較NSDate [NSDate日期]
- 14. Django - 從時間戳中獲得截然不同的日期
- 15. NSdate星期日重複日期
- 16. NSDate,比較兩個日期
- 17. 從日期時間獲取小時?
- 18. NSString日期到NSDate
- 19. 獲取小時套日期
- 20. 截斷日期只小時/分鐘
- 21. 如何獲得截止日期的月份和年份
- 22. T-SQL:從日期表中獲取當前日期+前幾年
- 23. 將java日期分爲幾小時
- 24. 使用日曆設置2個項目的截止日期並驗證日期?
- 25. 目標C的NSDate採取關1小時從解析日期
- 26. 不能獲得點擊(日期日期)信號從日曆
- 27. AngularJS - 從JSON日期過濾小時
- 28. 獲得從int(年月日)日期
- 29. 無法從工作日獲得日期
- 30. 通過日期獲取顛覆日誌
您在GMT + 2時區? –
是的,爲什麼這個問題呢? – MTA
我猜測它會告訴你UTC時區中的日期而不是你的日期。 –