I need to convert "2022-01-20T00:00:00.000Z"
to "dd MMM yyy"
format.
I have tried doing it as suggested in a stackoverflow answer but it returns 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"
}
2
Answers
got the answer
The fractional seconds are missing in the date format string. It’s
yyyy-MM-dd'T'HH:mm:ss.SSSZ
.And you are not using the
date
parameter. To avoid confusion with the local variabledate
rename it.And you don’t need two date formatters and it’s highly recommended to set the
Locale
to a fixed value