Метод difference
Метод difference класса DateTime вычисляет
разницу между текущим объектом даты и другим
объектом даты, переданным в параметре. Метод
возвращает объект Duration, который содержит
количество дней, часов, минут, секунд и миллисекунд
между двумя моментами времени. Если текущая дата
позже переданной, результат будет положительным.
Если текущая дата раньше переданной, результат
будет отрицательным. В единственный параметр
мы передаем объект DateTime, с которым
сравниваем текущую дату.
Синтаксис
dateTime.difference(other)
Пример
Давайте найдем разницу между двумя датами, где первая дата позже второй:
void main()
{
DateTime date1 = DateTime(2025, 1, 10);
DateTime date2 = DateTime(2025, 1, 5);
Duration res = date1.difference(date2);
print(res.inDays);
}
Результат выполнения кода:
5
Пример
Давайте найдем разницу между двумя датами, где первая дата раньше второй. В этом случае результат будет отрицательным:
void main()
{
DateTime date1 = DateTime(2025, 1, 5);
DateTime date2 = DateTime(2025, 1, 10);
Duration res = date1.difference(date2);
print(res.inDays);
}
Результат выполнения кода:
-5
Пример
Давайте найдем разницу между двумя моментами времени с точностью до часов:
void main()
{
DateTime date1 = DateTime(2025, 1, 10, 18, 30);
DateTime date2 = DateTime(2025, 1, 10, 12, 0);
Duration res = date1.difference(date2);
print(res.inHours);
print(res.inMinutes);
}
Результат выполнения кода:
6
390
Пример
Давайте выведем все части разницы между двумя датами отдельно:
void main()
{
DateTime date1 = DateTime(2025, 1, 10, 18, 45, 30);
DateTime date2 = DateTime(2025, 1, 8, 12, 15, 10);
Duration res = date1.difference(date2);
print('Days: ${res.inDays}');
print('Hours: ${res.inHours}');
print('Minutes: ${res.inMinutes}');
print('Seconds: ${res.inSeconds}');
}
Результат выполнения кода:
"Days: 2"
"Hours: 54"
"Minutes: 3270"
"Seconds: 196220"