Строка let date = dateFormatter.date(from: longDate)
вернет ноль, потому что dateFormatter
ожидает, что строка даты будет в формате MMM dd,yyyy
.Поэтому, когда вы используете проверку if date != nil
, она переходит в часть else
.
Вместо этого вам нужно сначала преобразовать строку даты в дату, используя правильный формат.Затем преобразуйте его обратно в строку, используя другой формат.
Примерно так будет работать
func convertDateStringToDate(longDate: String) -> String{
let longDateFormatter = DateFormatter()
longDateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
if let date = longDateFormatter.date(from: longDate) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMM dd, yyyy"
return dateFormatter.string(from: date)
} else {
return longDate
}
}