я в настоящее время имеют целочисленную переменную в течение часа текущего дня, я вычислил это так:Преобразование в формат строки в зависимости от настроек iPhone (13:00 против 1:00 PM) в Swift
let tz = NSTimeZone.defaultTimeZone()
let now = NSCalendar.currentCalendar().componentsInTimeZone(tz, fromDate: NSDate())
let currHour: Int = now.hour //6 for 6:35PM (current time)
Как преобразовать это в строку с учетом текущих настроек времени iPhone. Например, мой телефон настроен на 24-часовой раз, в то время как другого iPhone нет. Используя приложение Starbucks в качестве примера, глядя на местные магазины, он скажет либо «Открыть до 22:00» на моем телефоне, либо «Открыть до 22:00» на другом телефоне.
Значение по умолчаниюTimeZone устанавливается в America/New_York в делегате приложения.
Вы пробовали 'NSDateFormatter'? Он делает все это для вас. – rmaddy
https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/InternationalizingLocaleData/InternationalizingLocaleData.html – Alexander
NSDate является агностиком локали. Это гарантирует, что два объекта даты, которые представляют одно и то же время/дату, всегда будут равнозначными даже в разных локалях. – Alexander