Если вам нужно преобразовать из одной форматированной строки даты в другую форматированную строку даты, вы можете использовать два DateFormatter
s: один - средство форматирования ввода для преобразования строки в промежуточный объект Date
, а затем - с помощью модуль форматирования вывода - преобразование из Date в String.
func reFormat(from dateStr: String) -> String? {
let fromFormatter = DateFormatter()
fromFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss z"
let toFormatter = DateFormatter()
toFormatter.dateFormat = "yyyy/MM/dd HH:mm:ss z"
guard let date = fromFormatter.date(from: dateStr) else { return nil }
return toFormatter.string(from: date)
}
Если вам просто нужно вернуть объект Date
, тогда это более простая функция, использующая только один DateFormatter
:
func toDate(from dateStr: String) -> Date? {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss z"
return formatter.date(from: dateStr)
}
* 1010 Сам объект *
Date
не имеет форматирования - это чистое представление даты и времени, которые вы можете преобразовать в / из различных форматеров.