Вопрос в строке:
dateFormatterGet.dateFormat = "yyyy-MM-dd'T'HH:mm:ss+00:00"
+00:00
необходимо заменить на xxxx
, например:
dateFormatterGet.dateFormat = "yyyy-MM-dd'T'HH:mm:ssxxxx"
Ваш код станет:
func format(_ format:String) -> String {
var date: Date?
let dateFormatterGet = DateFormatter()
let dateFormatterOutput = DateFormatter()
dateFormatterGet.dateFormat = "yyyy-MM-dd'T'HH:mm:ssxxxx"
dateFormatterOutput.dateFormat = format
if let d = dateFormatterGet.date(from: self) {
date = d
}
return dateFormatterOutput.string(from: date!)
}
Примечание : здесь я предполагаю, что используемая вами строка даты будет содержать часовой пояс как + xx: xx (например, +02: 00) и так далее. Однако для другого формата вам нужно использовать другое число x
(используется маленькое x
, если часовой пояс не содержит Z):
x
-> -08, + 0330
xx
-> -0800
xxx
-> -800, -075254
xxxx
-> -8: 00, -07: 52: 54
Если часовой пояс содержит Z
, то мы используем капитал X
.