Dart:
Calcolare una data nel futuro o nel passato
Come fare:
Dart fornisce un robusto supporto per la manipolazione delle date attraverso la sua classe DateTime
. Ecco come puoi calcolare date future o passate usando Dart nativo, senza la necessità di librerie di terze parti.
Calcolare una Data Futura
Per calcolare una data futura, crei un oggetto DateTime
e usi il metodo add
con la durata desiderata.
DateTime oggi = DateTime.now();
Duration dieciGiorni = Duration(days: 10);
DateTime dataFutura = oggi.add(dieciGiorni);
print(dataFutura); // Output: 2023-04-21 14:22:35.123456 (output di esempio, dipende dalla data e dall'ora correnti)
Calcolare una Data Passata
Per calcolare una data nel passato, usi il metodo subtract
su un oggetto DateTime
con la durata necessaria.
DateTime oggi = DateTime.now();
Duration quindiciGiorniFa = Duration(days: 15);
DateTime dataPassata = oggi.subtract(quindiciGiorniFa);
print(dataPassata); // Output: 2023-03-27 14:22:35.123456 (output di esempio, dipende dalla data e dall'ora correnti)
Usare Librerie di Terze Parti
Nonostante le capacità native di Dart per la manipolazione delle date siano potenti, potresti trovarti nella necessità di operazioni più specifiche, come analizzare o formattare le date più facilmente, o eseguire calcoli complessi. In tali casi, il pacchetto time
può essere molto utile.
Prima, aggiungi time
alle tue dipendenze pubspec.yaml
:
dependencies:
time: ^2.0.0
Poi, puoi usarlo per eseguire calcoli simili con una maggiore leggibilità:
import 'package:time/time.dart';
void main() {
DateTime oggi = DateTime.now();
// Calcolare una data futura
DateTime dataFutura = oggi + 10.days;
print(dataFutura); // Formato dell'output: 2023-04-21 14:22:35.123456
// Calcolare una data passata
DateTime dataPassata = oggi - 15.days;
print(dataPassata); // Formato dell'output: 2023-03-27 14:22:35.123456
}
Questi esempi illustrano manipolazioni basilari delle date in Dart, inclusi l’aggiunta e la sottrazione di tempo da o verso una data corrente, dimostrando quanto sia agevole gestire le date nelle applicazioni Dart.