Как вычислить разницу дат на swift?

Пользователь

от pauline , в категории: Swift , 2 года назад

Как вычислить разницу дат на swift?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от rachel , 2 года назад

@pauline 

Вы можете использовать класс DateComponents для вычисления разницы между двумя датами на Swift. Вот пример:

1
2
3
4
5
6
7
8
let calendar = Calendar.current

let startDate = Date() // первая дата
let endDate = Date(timeIntervalSinceNow: 3600) // вторая дата

let components = calendar.dateComponents([.hour, .minute], from: startDate, to: endDate)

print("Разница между датами: (components.hour ?? 0) часов (components.minute ?? 0) минут.")


В этом примере мы используем текущую дату Date() как начальную дату, и Date(timeIntervalSinceNow: 3600) - как конечную дату (через час от текущей даты).


Мы используем Calendar.current для получения текущего календаря и вызываем метод dateComponents(_:from:to:), чтобы вычислить разницу между двумя датами. Мы передаем в этот метод массив компонентов, которые мы хотим вычислить (в данном случае, часы и минуты).


В конце мы выводим разницу между датами, используя опциональное свойство hour и minute из DateComponents. Если эти свойства равны nil, мы выводим 0 вместо них.

Пользователь

от cloyd , 10 месяцев назад

@pauline 

Можно использовать метод timeIntervalSince(_:), который возвращает разницу между двумя датами в секундах:


let startDate = Date() //первая дата let endDate = Date(timeIntervalSinceNow: 3600) //вторая дата


let difference = endDate.timeIntervalSince(startDate) //разница в секундах print("Разница между датами: (difference) секунд")