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.