Получение часового пояса в Mac - PullRequest
0 голосов
/ 13 июля 2020

Как я могу получить текущий часовой пояс в MacOS, используя swift 3.0 в формате «(UT C +5: 30) Бомбей, Калькутта, Мадрас, Нью-Дели». На данный момент я получаю это "IST": "Asia / Calcutta".

Проблема в том, что из нашей системы windows мы получаем часовой пояс как «(UT C +5: 30 ) Бомбей, Калькутта, Мадрас, Нью-Дели », мне нужен такой же формат часового пояса в MacOS.

Я мог бы придумать следующее решение, предоставленное по ссылке Как получить часовой пояс пользователя ?

let secondsFromGMT = TimeZone.current.secondsFromGMT()
let hrsfromGMT = secondsFromGMT/3600
NSLog("hrsfromGMT \(hrsfromGMT)")
let remainingminutes = (Double(secondsFromGMT)
        .truncatingRemainder(dividingBy: 3600))/60
NSLog("remainingminutes \(remainingminutes)")
let localTimeZoneIdentifier = 
TimeZone.current.identifier.replacingOccurrences(of: "/", with: ",", options: .literal, range: nil)
let utcoffset = String(format: "%02d:%02d", hrsfromGMT,Int(remainingminutes))
let utcoffset = String(format: "%02d:%02d", hrsfromGMT,Int(remainingminutes))
messageBuilderObj.timezone = "(UTC+"+utcoffset+") "+localTimeZoneIdentifier

при этом я получаю вывод как // "(UTC + 05: 30) Asia, Kolkata" вместо // "(UTC + 05: 30) Chennai, Kolkata, Мумбаи, Нью-Дели ". Пожалуйста, не стесняйтесь изменять код и предлагать любые решения

...