Swift:
Получение текущей даты
Как:
Получение текущей даты и времени в Swift простое:
import Foundation
let currentDate = Date()
print(currentDate)Пример вывода:
2023-04-10 16:20:32 +0000Если вам нужен конкретный формат:
import Foundation
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let formattedDate = formatter.string(from: Date())
print(formattedDate)Пример вывода:
2023-04-10 16:20:32Глубокое Погружение
Структура Date в Swift является частью фреймворка Foundation, который пришел из NSDate в Objective-C. Со временем Swift предложил современный подход с Date, который более выразителен и безопасен.
Существуют альтернативы Date() для получения текущего времени. Например, NSDate(), который примерно тот же, но менее удобен для Swift, и более низкоуровневые API, такие как gettimeofday(), для получения более точного системного времени. Но Date() является основным выбором для большинства разработчиков Swift, поскольку он сочетает в себе простоту использования с достаточной точностью для типичных случаев использования.
Date() в Swift получает системное время, которое часто бывает в скоординированном универсальном времени (UTC). Поэтому при его прямом выводе без формата оно появляется с UTC-сдвигом. Вот почему форматировщики так популярны; они позволяют настроить дату и время для любого указанного часового пояса и формата, делая его удобным для восприятия при отображении. Реализация собственных корректировок часового пояса без форматировщиков возможна, но это переизобретение колеса и подвержено ошибкам из-за изменений летнего времени и високосных секунд.
Смотрите также
- Официальная документация Apple по
Date: Date - Apple Developer Documentation - Руководство по DateFormatter: DateFormatter - Apple Developer Documentation
- Для более глубоких знаний о дате и времени в компьютерных системах, смотрите видео Computerphile на YouTube Computerphile’s video on YouTube.