Метод compareTo
Метод compareTo класса DateTime сравнивает текущую дату
с другой датой, переданной параметром. Метод возвращает целое число:
-1, если текущая дата раньше переданной, 0, если даты равны,
и 1, если текущая дата позже переданной. В первый и единственный
параметр мы передаем объект DateTime, с которым нужно сравнить
текущую дату.
Синтаксис
dateTime.compareTo(other)
Пример
Давайте сравним две даты, где первая дата раньше второй:
void main()
{
DateTime date1 = DateTime(2025, 1, 1);
DateTime date2 = DateTime(2025, 12, 31);
print(date1.compareTo(date2));
}
Результат выполнения кода:
-1
Пример
Давайте сравним две одинаковые даты:
void main()
{
DateTime date1 = DateTime(2025, 6, 15);
DateTime date2 = DateTime(2025, 6, 15);
print(date1.compareTo(date2));
}
Результат выполнения кода:
0
Пример
Давайте сравним две даты, где первая дата позже второй:
void main()
{
DateTime date1 = DateTime(2025, 12, 31);
DateTime date2 = DateTime(2025, 1, 1);
print(date1.compareTo(date2));
}
Результат выполнения кода:
1
Пример
Давайте используем результат compareTo для сортировки списка дат:
void main()
{
List<DateTime> dates = [
DateTime(2025, 5, 10),
DateTime(2025, 1, 1),
DateTime(2025, 12, 31),
DateTime(2025, 6, 15)
];
dates.sort((a, b) => a.compareTo(b));
for (DateTime date in dates)
{
print(date.toIso8601String());
}
}
Результат выполнения кода:
"2025-01-01T00:00:00.000"
"2025-05-10T00:00:00.000"
"2025-06-15T00:00:00.000"
"2025-12-31T00:00:00.000"
Смотрите также
-
класс
DateTime,
который представляет дату и время -
метод
isBefore,
который проверяет, раньше ли дата -
метод
isAfter,
который проверяет, позже ли дата -
метод
isAtSameMomentAs,
который проверяет равенство дат