Как я могу преобразовать эту строку "2016-04-14T10:44:00+0000"
в строку NSDate
и сохранить только год, месяц, день, час?
T
В середине этого действительно выбрасывает то , что я привык к при работе с датами.
swift
nsdate
nsdateformatter
asheyla
источник
источник
Ответы:
Преобразуйте строку ISO8601 в дату
Получить компоненты даты для года, месяца, дня и часа от даты
Наконец, создайте новый
Date
объект и удалите минуты и секунды.Также обратите внимание на удобный форматтер,
ISO8601DateFormatter
представленный в iOS 10 / macOS 12:источник
.hour
Попробуйте следующий формат даты.
Надеюсь, поможет..
Swift 4.1:
источник
В Swift 4.1 вы можете:
источник
Swift 3.0 - 4.2
источник
Привет, у вас есть отдельный формат T, а затем конвертируйте, как хотите
источник
Просто проходите мимо вас
dateformate
и свое свидание, и тогда вы получитеYear,month,day,hour
. Дополнительная информацияПолучить год
Получить месяц
Получить день
Получить час
источник
сделать глобальную функцию
Вызывается функция и передает в нее значение
и вот вывод
источник
В swift4,
// вывод: - 30 марта 2019 г., 17:30
источник
просто Шаг 1> получите значение String из JSON или dataSource
Шаг 2> создайте локальную переменную и назначьте ее.
Шаг 3> создайте экземпляр DateFormatter.
шаг 4> вызовите dateFormat из dateFormatter и укажите сохраненный тип данных даты.
шаг 5> Назначьте этой переменной локальную переменную для преобразования.
Шаг 6> укажите необходимую дату Formate с помощью следующего кода.
Шаг 6> Назначьте его метке / тексту
Код:
источник
Swift 5. Чтобы увидеть, ПРОШЛА ДАТА:
источник
Я тоже сходил с ума от этого формата.
См. Решение ниже.
Ваша строка, которая пришла из вашей спины или из другого источника:
Определите формат даты
Теперь, когда у вас есть дата как Date (), вы можете изменить ее на любой формат, используя formatDate.string.
Вывод:
источник
Для этого используйте библиотеку синтаксического анализа ISO8601. Существует слишком много способов кодирования строки. Не полагайтесь на определенный формат и не полагайтесь на то, что сервер всегда отправляет одно и то же. Задачи начинаются с буквы «Z» в конце и распространяются на все разновидности стандарта. Библиотека синтаксического анализа будет обрабатывать все случаи и всегда будет обеспечивать безопасное преобразование - тогда как фиксированная строка форматирования, скорее всего, выйдет из строя в будущем.
Вы можете использовать одну из этих библиотек. Они также доступны на CococaPods:
https://github.com/boredzo/iso-8601-date-formatter/
https://github.com/malcommac/SwiftDate
Взгляните на реализации. Оба они состоят из нескольких сотен строк - не зря.
Что касается вопроса: вы можете вытащить компоненты даты из даты с помощью NSDateComponents. Пример на сайте охватывает именно ваш случай.
https://developer.apple.com/documentation/foundation/nscalendar/1414841-components?language=objc
Имейте в виду, что при преобразовании даты будет учитываться часовой пояс. Возможно, вы захотите явно установить «локаль» для NSCalendar.
источник
Просто используйте SwifterSwift.
источник