Сравнение двух дат

Swift:
Сравнение двух дат

Как:

Swift использует тип Date для даты и времени. Вот простой пример сравнения двух дат:

import Foundation

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy/MM/dd HH:mm"

// Создание двух объектов даты
let date1 = dateFormatter.date(from: "2023/01/01 09:00")!
let date2 = dateFormatter.date(from: "2023/02/01 10:00")!

// Сравнение дат
if date1 == date2 {
    print("Даты одинаковые")
} else if date1 < date2 {
    print("Дата1 раньше Дата2")
} else {
    print("Дата1 позже Дата2")
}

Пример вывода:

Дата1 раньше Дата2

Операторы сравнения могут использоваться, потому что Date соответствует протоколу Comparable.

Глубокое погружение:

Раньше даты не всегда были удобными объектами. Изначально приходилось манипулировать отдельными компонентами, такими как год, месяц и день. Намного хуже. Теперь объекты Date в Swift выполняют большую работу, и их сравнение простое благодаря встроенным операторам.

До Swift и Date Cocoa Objective-C использовал NSDate, но они обратно совместимы, так что старый код все еще может хорошо работать.

И это еще не все, помимо <, >, и == — вы также можете использовать timeIntervalSince(_:) для более детального контроля, например:

let timeInterval = date2.timeIntervalSince(date1)

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

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