Obliczanie daty w przyszłości lub przeszłości

Dart:
Obliczanie daty w przyszłości lub przeszłości

Jak to zrobić:

Dart zapewnia solidne wsparcie dla manipulacji datami za pomocą klasy DateTime. Oto jak możesz obliczyć przyszłe lub przeszłe daty przy użyciu natywnego Darta, bez potrzeby korzystania z bibliotek innych firm.

Obliczanie przyszłej daty

Aby obliczyć datę w przyszłości, tworzysz obiekt DateTime i używasz metody add z pożądanym czasem trwania.

DateTime today = DateTime.now();
Duration tenDays = Duration(days: 10);
DateTime futureDate = today.add(tenDays);

print(futureDate); // Wyjście: 2023-04-21 14:22:35.123456 (przykładowe wyjście, zależne od bieżącej daty i godziny)

Obliczanie przeszłej daty

Aby obliczyć datę w przeszłości, używasz metody subtract na obiekcie DateTime z koniecznym czasem trwania.

DateTime today = DateTime.now();
Duration fifteenDaysAgo = Duration(days: 15);
DateTime pastDate = today.subtract(fifteenDaysAgo);

print(pastDate); // Wyjście: 2023-03-27 14:22:35.123456 (przykładowe wyjście, zależne od bieżącej daty i godziny)

Korzystanie z bibliotek stron trzecich

Chociaż natywne możliwości Darta do manipulacji datami są potężne, może się zdarzyć, że potrzebujesz bardziej szczegółowych operacji, takich jak łatwiejsze parsowanie lub formatowanie dat, lub wykonywanie złożonych obliczeń. W takich przypadkach pakiet time może być bardzo przydatny.

Najpierw dodaj time do zależności w swoim pubspec.yaml:

dependencies:
  time: ^2.0.0

Następnie możesz go użyć do wykonania podobnych obliczeń z lepszą czytelnością:

import 'package:time/time.dart';

void main() {
  DateTime today = DateTime.now();

  // Obliczanie przyszłej daty
  DateTime futureDate = today + 10.days;
  print(futureDate); // Format wyjścia: 2023-04-21 14:22:35.123456

  // Obliczanie przeszłej daty
  DateTime pastDate = today - 15.days;
  print(pastDate); // Format wyjścia: 2023-03-27 14:22:35.123456
}

Te przykłady ilustrują podstawowe manipulacje datami w Darcie, w tym dodawanie i odejmowanie czasu do lub od bieżącej daty, demonstrując, jak bez wysiłku daty mogą być zarządzane w aplikacjach Dart.