2015-06-22 57 views
0

以下代碼在模擬器上工作,但不在設備上。 我試圖用xx替換Z而沒有運氣。 任何幫助表示讚賞。SWIFT:將字符串從XLM轉換爲NSDate

謝謝。

func convertDateStringToNSDate(dateString: String) -> NSDate { 
     var dateFormatter = NSDateFormatter() 
     // Sat, 20 Jun 2015 16:50:20 +0200 

     dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss xx" 
     let date: NSDate = dateFormatter.dateFromString(dateString) 
     return date 

    } 

回答

0

如果你有固定格式的日期時,您應首先設定日期格式的區域設置爲適合您的固定格式的東西。在大多數情況下,要選擇的最佳語言環境是en_US_POSIX,該語言環境專門設計用於在不考慮用戶和系統偏好的情況下生成美國英語結果。 en_US_POSIX在時間上也是不變的(如果美國在將來的某個時候改變它的格式化日期,en_US將會改變以反映新的行爲,但是en_US_POSIX不會),並且在平臺之間(en_US_POSIX在iPhone上的工作方式相同OS,就像它在OS X上做的一樣,就像它在其他平臺上一樣)。

// Setting the locale to POSIX ensures that 
// the user's locale won't be used 
dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") 
+0

非常感謝您的解釋和代碼! –