//Timestamp 1473163200000
我想把它轉換成inot基於當前時區Date對象生成的時間戳。
我這樣做是:
NSDate *gmtDate = [NSDate dateWithTimeIntervalSince1970:1473163200000/1000];
NSTimeInterval timeZoneOffset = [[NSTimeZone systemTimeZone] secondsFromGMTForDate:gmtDate];
NSDate *localDate = [gmtDate dateByAddingTimeInterval:timeZoneOffset];
現在,當我po
當地的日期我得到這個:
(lldb) po localDate
2016-09-06 17:30:00 +0000
當我使用DateFormatter來登錄localDate
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd-HH-mm-ss"];
NSString *newDate = [dateFormat stringFromDate:localDate];
我得到這個:
(lldb) po newDate
2016-09-06-23-00-00
但我想這是:
Tue Sep 06 2016 17:30:00
什麼我失蹤? 請避免格式化我對時區更加好奇。
在你dateFormatter,給他你的地方,也是DATEFORMAT不匹配你想要的格式。 – Larme
'NSString * newDate = @「Tue Sep 06 2016 17:30:00」;'順便說一句:你對時區做什麼是概念上的錯誤。 –