Dart:
Calculando uma data no futuro ou passado
Como fazer:
Dart oferece suporte robusto para manipulação de datas por meio de sua classe DateTime
. Veja como você pode calcular datas futuras ou passadas usando Dart nativo, sem precisar de bibliotecas de terceiros.
Calculando uma Data Futura
Para calcular uma data no futuro, você cria um objeto DateTime
e usa o método add
com a duração desejada.
DateTime hoje = DateTime.now();
Duration dezDias = Duration(days: 10);
DateTime dataFutura = hoje.add(dezDias);
print(dataFutura); // Saída: 2023-04-21 14:22:35.123456 (saída de exemplo, depende da data e hora atual)
Calculando uma Data Passada
Para calcular uma data no passado, você usa o método subtract
em um objeto DateTime
com a duração necessária.
DateTime hoje = DateTime.now();
Duration quinzeDiasAtras = Duration(days: 15);
DateTime dataPassada = hoje.subtract(quinzeDiasAtras);
print(dataPassada); // Saída: 2023-03-27 14:22:35.123456 (saída de exemplo, depende da data e hora atual)
Usando Bibliotecas de Terceiros
Embora as capacidades nativas de Dart para manipulação de datas sejam poderosas, você pode se encontrar precisando de operações mais específicas, como analisar ou formatar datas mais facilmente, ou realizar cálculos complexos. Nestes casos, o pacote time
pode ser muito útil.
Primeiro, adicione time
às suas dependências no pubspec.yaml
:
dependencies:
time: ^2.0.0
Então, você pode usá-lo para realizar cálculos semelhantes com maior legibilidade:
import 'package:time/time.dart';
void main() {
DateTime hoje = DateTime.now();
// Calculando uma data futura
DateTime dataFutura = hoje + 10.days;
print(dataFutura); // Formato de saída: 2023-04-21 14:22:35.123456
// Calculando uma data passada
DateTime dataPassada = hoje - 15.days;
print(dataPassada); // Formato de saída: 2023-03-27 14:22:35.123456
}
Estes exemplos ilustram manipulações básicas de datas em Dart, incluindo adicionar e subtrair tempo de ou para uma data atual, demonstrando o quão fácil pode ser gerenciar datas em aplicações Dart.