簡體   English   中英

將字符串轉換為NSDate,時區錯誤

[英]Converting String to NSDate, wrong time zone

如何將String轉換為NSDate,然后再轉換回String?

我嘗試這樣做:

//String to NSDate
let dateString = "2016-07-07T18:09:41Z"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let date = dateFormatter.dateFromString(dateString)

//NSDate to String
let formatter = NSDateFormatter()
formatter.dateFormat = "HH:mm"
formatter.locale = NSLocale(localeIdentifier: "en")
let time = formatter.stringFromDate(date!)

就我而言,時間是21:09,即使是18:09。 設置語言環境沒有任何作用。 我想我做錯了什么,只是不確定。

Locale不設置時區,而只是幫助將格式設置為用戶語言環境和首選項的格式。 明確設置timeZone以獲取所需的結果。 例如,要將時區設置為系統時區,請嘗試:

dateFormatter.timeZone = NSTimeZone.systemTimeZone()

formatter.timeZone = NSTimeZone.systemTimeZone()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM