КОДЕКС

Сроки в Swift

Узнайте, как даты работают в Swift и как использовать объекты даты в ваших проектах.

Дата

Согласно Apple, объект даты - это:

Определенный момент времени, независимо от календаря или часового пояса.

Самый простой способ узнать текущую дату:

let date = Date()
print(date)

Выход:

2021-01-30 10:48:09 +0000

Этот объект даты поддерживает

  • Сравнение.
  • Расчет временного интервала.
  • Создание новой даты относительно другой даты.

Например:

Выход:

3600
2021-01-30 12:59:44 +0000
2021-01-30 11:59:44 +0000

Это здорово, но если вам нужно больше контролировать дату, вы должны использовать DateFormatter.

Как использовать DateFormatter в Swift

Если вы хотите отображать информацию о дате в другом формате, например чтобы показать дату в стиле другой страны, тогда вам нужно использовать DateFormatter.

Форматирование даты с помощью предустановок стилей

DateFormatter предоставляет вам множество различных форматов даты, которые вы можете использовать.

В качестве примера давайте создадим объект DateFormatter и настроим свойства dateStyle и timeStyle, чтобы изменить стиль строкового представления даты.

Выход:

Saturday, January 30, 2021 at 12:37:20 PM Greenwich Mean Time

Полный список всех возможных стилей для dateStyle и timeStyle is .none, .short, .medium, .long, .full.

DateFormat - еще один способ настройки формата даты

Помимо dateStyle и timeStyle, dateFormat также позволяет настроить форматирование даты. Его следует использовать только при работе с представлениями фиксированного формата, такими как ISO8601DateFormatter.

Кроме того, не имеет смысла использовать ранее описанные свойства dateStyle или timeStyle при использовании dateFormat в DateFormatter.

Настройка стиля даты + локализация

Если предпочитаемый вами формат даты невозможен с более ранними предустановками стиля, вы можете использовать функцию setLocalizedDateFormatFromTemplate в DateFormatter для достижения стиля, которого вам не хватает.

Допустим, мы хотим отображать дату в финском календаре так, как она отображается в Финляндии. Например 30.1.2021. Этот формат не подходит для более ранних предустановок стиля, поэтому нам нужно настроить DateFormatter:

Выход:

30.01.2021

Обратите внимание, как мы использовали свойство locale объекта DateFormatter.

С locale формат даты преобразуется в формат, который используется в конкретной стране, определенной locale.

Обязательно всегда вызывайте setLocalizedDateFormatFromTemplate после установки locale из DateFormatter, чтобы отображалась правильно отформатированная дата в регионе.

Компоненты даты - Работа с единицами даты

DateComponents представляет дату в единицах времени. Например, часы, минуты, секунды и т. Д. Это позволяет вам получить доступ к компонентам времени и изменять их отдельно.

В следующем примере текущая дата извлекается по компонентам времени с помощью DateComponents.

Смотрите также



использованная литература