LLLit: Изучение и практика программирования

Swift, как получить 12-часовой формат, если система работает в 24-часовом формате

Система моего устройства iPhone была настроена на 24-часовой формат. Я хочу получить 12-часовой формат, то есть: 23:27 получить 23:27.

Я попытался:

            let today = NSDate()
            let dateFormatter = DateFormatter()
            dateFormatter.dateFormat = "hh:mm a"
            let string = dateFormatter.string(from: today as Date) // 23:27

получил 23:27 строку.

Я нашел это: Как получить строку времени в 12-часовом формате, если система настроена на использование 24-часового формата

            let today = NSDate()
            let dateFormatter = DateFormatter()
            let dateFormat = DateFormatter.dateFormat(fromTemplate:"hh:mm a", options: 0, locale: NSLocale.current)
            dateFormatter.dateFormat = dateFormat
            let string = dateFormatter.string(from: today as Date) //23:27 i want 11:27 pm

Но это не работает, у меня все еще есть строка 23:27, а не строка 11:27pm.

Спасибо!

EDIT: Согласно ответу shallowThought, вы не уверены, что Locale имеет место?

введите здесь описание изображения

EDIT2 Добавьте это:

dateFormatter1.locale = Locale(identifier: "en_US_POSIX")

работает. И моя текущая локаль en_CN.

02.12.2016

  • Я запустил ваш код и получил 9:34 PM в переменной string 02.12.2016
  • @ArtemNovichkov смотрите мой скриншот. 02.12.2016
  • Я уверен, что эта ссылка решает вашу проблему. Если нет, отредактируйте свой вопрос, указав, почему это не помогает, при необходимости мы можем снова открыть вопрос. Спасибо. 02.12.2016
  • Еще один хороший вариант: stackoverflow.com/questions/6613110/ 02.12.2016

Ответы:


1

Ваш код отлично работает здесь на iPhone6, iOS 10.1.1 с датой, установленной на 24 часа:

override func viewDidLoad() {
    super.viewDidLoad()

    let today = NSDate()
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "hh:mm a"
    let string = dateFormatter.string(from: today as Date)
    print(string)
}

Отпечатки:

04:38 PM
02.12.2016
  • Смотрите мое прикрепленное изображение. Он проводной. 02.12.2016
  • Разместите больше информации. Версия для iOS также. 02.12.2016
  • это не работает для меня 02.10.2017
  • @PatelJigar Проверьте язык вашего устройства. 05.10.2017
  • Новые материалы

    Поэзия онлайн-кодирования: путешествие пикселей и страсти
    В мире, наполненном инновациями, онлайн-обучение программированию становится холстом, на котором обретает форму полотно вашей мечты. Это больше, чем просто создание строк кода; это сродни..

    Обработка изображений с помощью Python - размытие и повышение резкости для начинающих
    Как применить ядра свертки к цветным изображениям? В этой статье мы обсудим, как применять ядра размытия и повышения резкости к изображениям. Эти базовые ядра составляют основу многих более..

    Ограничение скорости в .NET Core 7 Web API
    Что такое ограничение скорости? Ограничение скорости — это процесс, используемый для ограничения количества запросов, разрешенных для определенного ресурса в указанном временном окне. .NET..

    Стабильная Diffusion 1.0 выдаёт более красивые картинки, чем SD 2.1?! Почему?
    Удивительные открытия, которые я сделал недавно. Смотрите в видео: https://youtu.be/PakgD6FewoU Есть одно логичное объяснение — что у вас?

    Веб-скрапинг с помощью одной строки кода Pandas
    Честно говоря, вы пытались скопировать таблицу с веб-сайта, чтобы вставить ее в электронную таблицу Excel, и почти всегда эта, казалось бы, простая процедура приводила к беспорядку. Одна из..

    Ориентированная на проект дорожная карта разработки интерфейса с тщательно подобранным плейлистом на YouTube (2022 г.)
    Начните свой путь разработчика по-гиковски Оглавление 👉 Уровень 1 ‹/› HTML Темы, на которых следует сосредоточиться: 🌈 CSS Темы, на которых следует сосредоточиться: ⚙️ JavaScript..

    Реализация простой искусственной нейронной сети с нуля на Python
    Раскрытие математики и логики, стоящих за этим. Что такое нейронная сеть? С точки зрения непрофессионала, нейронная сеть - это просто математическая функция, в которую вы вводите вектор..