0
我想轉換UTC日期爲swift中的本地日期,但在得到UTC後字符串中的本地日期我將該字符串轉換爲NSDate中的一次,但我總是得到UTC日期格式下面是我的代碼UTC的日期在swift iOS中的本地日期
日期:在UTC:二零一六年七月二十日18:30:00 +0000
我想這個日期在當地的日期,選中下面的代碼:
let dateInUTC = NSDate()
let seconds: Int = NSTimeZone.systemTimeZone().secondsFromGMT
print(seconds)
let localDateFormatter: NSDateFormatter = NSDateFormatter()
localDateFormatter.dateFormat = "MM/dd/yyyy HH:mm"
localDateFormatter.timeZone = NSTimeZone(forSecondsFromGMT: seconds)
let lastDate: String = localDateFormatter.stringFromDate(dateInUTC)
print(lastDate)
在這個時候我得到「07/12/2016 16:56:36 GMT + 5:30」,意思是我得到的字符串本地日期,但我想這個日期的NSDate所以我再次轉換成NSDate的這串日期,檢查以下
let getDate:NSDate = localDateFormatter.dateFromString(lastDate)!
print(getDate)
但在這個階段,我再次得到了在UTC日期(2016年7月12日11: 26:36 +0000),但我想在本地日期,
- 我嘗試了很多的雨燕次,但沒有從字符串獲得本地日期,這行代碼我在Objective-C的應用,其工作的罰款obj-c但是當我在swift中嘗試時,我總是得到UTC日期,建議我並給我正確的方式來解決這個問題。
NSDate代表絕對時間點並且沒有時區。這已被反覆詢問和回答。 –
那麼如何獲得當地時區的NSDate? (注意:不是字符串,它應該在NSDate中) –
這個問題沒有意義,NSDate只是自2001年1月1日GMT以來的秒數。看例如http://stackoverflow.com/questions/24917483/swift-nsdate-utc-time-and-local-tme或http://stackoverflow.com/questions/18124684/nsdate-change-time-zone。 NSDate的* description *方法使用UTC將日期顯示爲字符串。 –