Мне нужно получить аббревиатуру часового пояса.
Например, Москва в России имеет аббревиатуру MSK
. Центральноевропейское время имеет аббревиатуру CET
, восточноевропейское летнее время имеет аббревиатуру EEST
и т. д.
Когда я открываю настройки macOS, я четко вижу аббревиатуру:
Однако, когда я пытаюсь получить аббревиатуру в коде, я получаю только смещение GMT
:
import UIKit
let date = Date()
let zone = TimeZone(abbreviation: "EEST")
print(zone?.abbreviation(for: Date()))
Необязательно ("GMT+3")
С другой стороны, когда я пытаюсь использовать время США, я получаю правильное сокращение:
import UIKit
let date = Date()
let zone = TimeZone(abbreviation: "EDT")
print(zone?.abbreviation(for: Date()))
Необязательный ("EDT")
Как сделать так, чтобы TimeZone
всегда указывало аббревиатуру вместо смещения по Гринвичу? Есть ли другой способ всегда получать аббревиатуру, независимо от локали или других системных настроек?
Моя цель — получить ту же строку, что и в настройках macOS.