我需要使用'Africa / Nairobi'这个国家的三/四个字母的缩写,我尝试使用
print(TimeZone(abbreviation: "SAST")?.identifier)中的NSTimeZone.abbreviationDictionary,结果为nil

如何获取此国家/地区的三/四个字母缩写'非洲/内罗毕'。提前致谢

最佳答案

您可以通过以下方法获取时区的完整标准本地化名称。

let timezone:TimeZone = TimeZone.init(identifier: "Africa/Nairobi") ?? TimeZone.current
print(timezone.localizedName(for: .generic, locale: .autoupdatingCurrent))
print(timezone.localizedName(for: .standard, locale: .autoupdatingCurrent))

将给你以下输出

可选(“东非时间”)

可选(“东非时间”)

我认为现在您可以通过拆分和组合字符串轻松地从东非时间获得EAT
let fullName = timezone.localizedName(for: .standard, locale: .autoupdatingCurrent) ?? ""
var result = ""
fullName.enumerateSubstrings(in: fullName.startIndex..<fullName.endIndex, options: .byWords) { (substring, _, _, _) in
    if let substring = substring { result += substring.prefix(1) }
}
print(result)

会给你放出来的

关于ios - iOS TimeZone获得三个字母的缩写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58523001/

10-13 04:00