2017-01-01 63 views
0

無法字符串轉換成日期格式與AM/PM無法轉換的日期字符串 「2017年1月1日13:40:15.314」,以 「DD MMMM YYY HH:MM一個」 格式

我的示例代碼:

let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS" 

if let todaysDate:Date = dateFormatter.date(from: dateString) { 

    let newdateFormatter:DateFormatter = DateFormatter() 
    newdateFormatter.dateFormat = "dd MMMM yyy hh:mm a" 
    newdateFormatter.amSymbol = "AM" 
    newdateFormatter.pmSymbol = "PM" 

    return newdateFormatter.string(from: todaysDate) 
} 

輸入:"2017-01-01 13:40:15.314"

輸出爲:01 January 2017 19:57

有望走出看跌期權:01 January 2017 7:57 PM

+0

您的測試設備/模擬器設置是否在Settings應用程序中顯示24小時制? – rmaddy

回答

1

將日期格式化程序的區域設置設置爲en_US_POSIX,同樣,它也將AM/PM符號設置爲大寫。

let newdateFormatter = DateFormatter() // Do not annotate types the compiler can infer 
newdateFormatter.locale = Locale(identifier: "en_US_POSIX") 
newdateFormatter.dateFormat = "dd MMMM yyyy h:mm a" 
newdateFormatter.string(from: todaysDate) 
+0

這個問題有很多重複的內容。 – rmaddy

+0

隨意標記爲重複@rmaddy – vadian

相關問題