Я на Swift 4.2 .Я изо всех сил пытаюсь получить время смещения между UTC и временем от моего iPhone.
У меня есть этот код
extension TimeZone {
func offsetFromGMT() -> String
{
let localTimeZoneFormatter = DateFormatter()
localTimeZoneFormatter.timeZone = self
localTimeZoneFormatter.dateFormat = "Z"
return localTimeZoneFormatter.string(from: Date())
}
}
func getCurrentTimeZone() -> String{
return String (TimeZone.current.identifier)
}
var tzOffset = ""
let currentTimeZone = getCurrentTimeZone()
TimeZone.knownTimeZoneIdentifiers.forEach({ timeZoneIdentifier in
if let timezone = TimeZone(identifier: timeZoneIdentifier)
{
//print("\(timezone.identifier) \(timezone.offsetFromGMT())")
if(timezone.identifier == currentTimeZone){
tzOffset = timezone.offsetFromGMT()
}
}
})
Результат
Если я сделаю
print(tzOffset)
Я получил
-0500
Должно ли оно быть -5
, поскольку мой currentTimeZone равен America/Montreal
?
Может кто-нибудь дать мне подсказку?