Dart:
Beregning av en dato i fremtiden eller fortiden
Hvordan:
Dart gir solid støtte for datomanipulering gjennom sin DateTime
-klasse. Her er hvordan du kan beregne fremtidige eller tidligere datoer ved å bruke nativ Dart, uten å trenge tredjepartsbiblioteker.
Beregning av en fremtidig dato
For å beregne en dato i fremtiden, lager du et DateTime
-objekt og bruker add
-metoden med ønsket varighet.
DateTime iDag = DateTime.now();
Duration tiDager = Duration(days: 10);
DateTime fremtidigDato = iDag.add(tiDager);
print(fremtidigDato); // Utdata: 2023-04-21 14:22:35.123456 (eksempel på utdata, avhenger av gjeldende dato og tid)
Beregning av en tidligere dato
For å beregne en dato i fortiden, bruker du subtract
-metoden på et DateTime
-objekt med nødvendig varighet.
DateTime iDag = DateTime.now();
Duration femtenDagerSiden = Duration(days: 15);
DateTime tidligereDato = iDag.subtract(femtenDagerSiden);
print(tidligereDato); // Utdata: 2023-03-27 14:22:35.123456 (eksempel på utdata, avhenger av gjeldende dato og tid)
Bruk av tredjepartsbiblioteker
Selv om Darts native kapabiliteter for datomanipulering er kraftfulle, kan du finne deg selv i behov av mer spesifikke operasjoner, slik som å parse eller formatere datoer enklere, eller utføre komplekse beregninger. I slike tilfeller kan time
-pakken være svært nyttig.
Først, legg time
til dine pubspec.yaml
-avhengigheter:
dependencies:
time: ^2.0.0
Deretter kan du bruke den til å utføre lignende beregninger med forbedret lesbarhet:
import 'package:time/time.dart';
void main() {
DateTime iDag = DateTime.now();
// Beregning av en fremtidig dato
DateTime fremtidigDato = iDag + 10.dager;
print(fremtidigDato); // Utdataformat: 2023-04-21 14:22:35.123456
// Beregning av en tidligere dato
DateTime tidligereDato = iDag - 15.dager;
print(tidligereDato); // Utdataformat: 2023-03-27 14:22:35.123456
}
Disse eksemplene illustrerer grunnleggende datomanipulasjoner i Dart, inkludert å legge til og trekke fra tid til eller fra en nåværende dato, og demonstrerer hvor enkelt datoer kan håndteres i Dart-applikasjoner.