Dart:
Расчёт даты в будущем или прошлом
Как:
Dart предоставляет надежную поддержку для манипулирования датами через свой класс DateTime
. Вот как вы можете вычислить будущие или прошедшие даты, используя нативный Dart, без необходимости в сторонних библиотеках.
Вычисление Будущей Даты
Чтобы рассчитать дату в будущем, вы создаете объект DateTime
и используете метод add
с желаемой продолжительностью.
DateTime today = DateTime.now();
Duration tenDays = Duration(days: 10);
DateTime futureDate = today.add(tenDays);
print(futureDate); // Вывод: 2023-04-21 14:22:35.123456 (пример вывода, зависит от текущей даты и времени)
Вычисление Прошедшей Даты
Для вычисления даты в прошлом, используйте метод subtract
на объекте DateTime
с необходимой продолжительностью.
DateTime today = DateTime.now();
Duration fifteenDaysAgo = Duration(days: 15);
DateTime pastDate = today.subtract(fifteenDaysAgo);
print(pastDate); // Вывод: 2023-03-27 14:22:35.123456 (пример вывода, зависит от текущей даты и времени)
Использование Сторонних Библиотек
Хотя нативные возможности Dart для манипулирования датами мощные, вы можете столкнуться с необходимостью в более конкретных операциях, таких как более легкий разбор или форматирование дат, или выполнение сложных вычислений. В таких случаях пакет time
может быть очень полезным.
Сначала добавьте time
в свои зависимости pubspec.yaml
:
dependencies:
time: ^2.0.0
Затем вы можете использовать его для выполнения аналогичных вычислений с улучшенной читаемостью:
import 'package:time/time.dart';
void main() {
DateTime today = DateTime.now();
// Вычисление будущей даты
DateTime futureDate = today + 10.days;
print(futureDate); // Формат вывода: 2023-04-21 14:22:35.123456
// Вычисление прошедшей даты
DateTime pastDate = today - 15.days;
print(pastDate); // Формат вывода: 2023-03-27 14:22:35.123456
}
Эти примеры иллюстрируют базовые манипуляции с датами в Dart, включая добавление и вычитание времени к текущей дате или из нее, демонстрируя, как легко можно управлять датами в приложениях Dart.