如何从 swift 中的 dd MMMM YYYY 更改日期格式?
How to change date format from dd MMMM YYYY in swift?
我需要将日期从 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 ?? ""))
输出为零。
我已确定响应数据值存在
如何转换?
以及如何将“01 August 2021”更改为其他语言?我的情况是将其更改为印度尼西亚语。所以它变成了“01 Agustus 2021”。这也是怎么做到的?
先致谢
使用DateFormatter
是正确的做法。首先,您需要将 01 August 2021
、 String
类型转换为 Date
对象。第二,改变dateFormat
和re-format它。这是满足您两种需求的测试代码:
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"))
我需要将日期从 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 ?? ""))
输出为零。
我已确定响应数据值存在
如何转换?
以及如何将“01 August 2021”更改为其他语言?我的情况是将其更改为印度尼西亚语。所以它变成了“01 Agustus 2021”。这也是怎么做到的?
先致谢
使用DateFormatter
是正确的做法。首先,您需要将 01 August 2021
、 String
类型转换为 Date
对象。第二,改变dateFormat
和re-format它。这是满足您两种需求的测试代码:
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"))