我需要將日期從 dd MMMM YYYY 轉換為 dd-mm-yyyy。
例如:(2021 年 8 月 1 日)-> 01-09-2021
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "dd-MM-yyyy"
print( dateFormatter.date(from:response.data?[0].mbStartDate ?? ""))
輸出為零。
我已確保回應資料值存在
如何轉換它?
以及如何將“2021 年 8 月 1 日”更改為其他語言?我的情況是將其更改為印度尼西亞語。所以它變成了“01 Agustus 2021”。這也要怎么做?
之前謝謝
uj5u.com熱心網友回復:
使用DateFormatter是正確的方法。01 August 2021首先,您需要將String型別轉換為Date物件。其次,更改dateFormat并重新格式化它。這是滿足您兩種需求的測驗代碼:
func convert(_ dateString: String, from initialFormat: String, to targetFormat: String? = nil, _ locale: Locale? = nil) -> String? {
let formatter = DateFormatter()
formatter.dateFormat = initialFormat
guard let date = formatter.date(from: dateString) else { return nil }
if let newFormat = targetFormat {
formatter.dateFormat = targetFormat
}
formatter.locale = locale
return formatter.string(from: date)
}
print(convert("01 August 2021", from: "dd MMMM yyyy", .init(identifier: "id_ID")))
print(convert("01 August 2021", from: "dd MMMM yyyy", to: "dd-MM-yyyy"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/444104.html
