我需要轉換"2022-01-20T00:00:00.000Z"為"dd MMM yyy"格式。我已經嘗試按照stackoverflow答案中的建議進行操作,但它回傳了nil
func convertDate(date:String)-> String{
let dateFormatterGet = DateFormatter()
dateFormatterGet.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let dateFormatterPrint = DateFormatter()
dateFormatterPrint.dateFormat = "dd MMM yyy"
if let date = dateFormatterGet.date(from: String(date)) {
let convertedDate = dateFormatterPrint.string(from: date)
return convertedDate
} else {
print("There was an error decoding the string")
}
return "nil"
}
uj5u.com熱心網友回復:
日期格式字串中缺少小數秒。是yyyy-MM-dd'T'HH:mm:ss.SSSZ。
而且您沒有使用該date引數。為避免與區域變數混淆,date重命名它。
而且您不需要兩個日期格式化程式,強烈建議將其設定Locale為固定值
func convertDate(dateString: String) -> String {
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
if let date = dateFormatter.date(from: dateString) {
dateFormatter.dateFormat = "dd MMM yyy"
return dateFormatter.string(from: date)
} else {
print("There was an error decoding the string")
return ""
}
}
uj5u.com熱心網友回復:
得到了答案
func convertDate(date:String)-> String{
let dateFormatterGet = DateFormatter()
dateFormatterGet.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.sssZ"
let dateFormatterPrint = DateFormatter()
dateFormatterPrint.dateFormat = "dd MMM yyy"
if let date = dateFormatterGet.date(from: String(date)) {
let convertedDate = dateFormatterPrint.string(from: date)
return convertedDate
} else {
print("There was an error decoding the string")
}
return "nil"
}
print(convertDate(date: "2022-01-20T00:00:00.000Z"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/417474.html
標籤:
上一篇:在ggplot2中的geom_col中添加一條水平線以分隔條帶
下一篇:解決挑戰——訪問函式中的物件屬性
