Метод subtract
Метод subtract класса DateTime вычитает
из текущей даты и времени заданный промежуток
времени и возвращает новый объект DateTime.
Исходный объект при этом не изменяется, так как
объекты DateTime в Dart являются неизменяемыми.
В единственный параметр метода мы передаем объект
Duration, который описывает вычитаемый
промежуток времени (дни, часы, минуты, секунды
и так далее).
Если в результате вычитания получается момент
времени, выходящий за границы допустимых значений,
метод выбрасывает исключение ArgumentError.
Синтаксис
dateTime.subtract(duration)
Пример
Давайте вычтем из заданной даты один день и выведем результат:
void main()
{
DateTime date = DateTime(2025, 12, 31);
DateTime res = date.subtract(Duration(days: 1));
print(res);
}
Результат выполнения кода:
"2025-12-30 00:00:00.000"
Пример
Давайте вычтем из даты сразу несколько промежутков - два дня и три часа:
void main()
{
DateTime date = DateTime(2025, 12, 31, 12, 0, 0);
DateTime res = date.subtract(Duration(days: 2, hours: 3));
print(res);
}
Результат выполнения кода:
"2025-12-29 09:00:00.000"
Пример
Давайте вычтем из текущей даты один час,
используя метод now:
void main()
{
DateTime date = DateTime.now();
DateTime res = date.subtract(Duration(hours: 1));
print(res);
}
Результат выполнения кода будет похож на:
"2025-01-01 11:00:00.000"
Смотрите также
-
метод
add,
который прибавляет промежуток времени -
метод
difference,
который возвращает разницу между датами -
класс
DateTime,
который представляет дату и время -
метод
now,
который возвращает текущую дату и время