Существует множество вариантов преобразования формата даты, которые вы можете использовать.
Мой любимый RFC 3339 , поскольку он создает наименьшую путаницу между форматами даты и полностью подходит для PHP .
extension Date {
init?(rfc3339String: String) {
self.init()
let localeId = "en_US_POSIX"
let rfc3339DateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
let fmt = DateFormatter()
fmt.locale = Locale(identifier: localeId)
fmt.dateFormat = rfc3339DateFormat
fmt.timeZone = TimeZone.current
self = fmt.date(from: rfc3339String)!
}
func rfc3339String() -> String {
let localeId = "en_US_POSIX"
let rfc3339DateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
let fmt = DateFormatter()
fmt.locale = Locale(identifier: localeId)
fmt.dateFormat = rfc3339DateFormat
fmt.timeZone = TimeZone.current
return fmt.string(from: self)
}
}