Flutter: verifique se a data está entre duas datas

Oct 17 2020

Preciso verificar se a data está entre duas datas ou não.

Tentei pesquisá-lo, mas não obtive resultados frutíferos. Pode ser que você tenha visto tais cenários. Então, buscando seu conselho.

Aqui está o meu código.

var service_start_date = '2020-10-17';
var service_end_date = '2020-10-23';
var service_start_time = '10:00:00';
var service_end_time = '11:00:00';

DateTime currentDate = new DateTime.now();
DateTime times = DateTime.now();


  @override
  void initState() {
    super.initState();
    test();
  }

 test() {
    String currenttime = DateFormat('HH:mm').format(times);
    String currentdate = DateFormat('yyyy-mm-dd').format(currentDate);
    print(currenttime);    
    print(currentdate);
    
  }

Então, basicamente eu tenho data de início e data de término. Preciso verificar se a data atual está entre essas duas datas ou não.

Respostas

5 KuKu Oct 17 2020 at 14:13

Você pode verificar antes/depois usando 'isBefore' e 'isAfter' na classe 'DateTime'.

    DateTime startDate = DateTime.parse(service_start_date);
  DateTime endDate = DateTime.parse(service_end_date);
  
  DateTime now = DateTime.now();
  
  print('now: $now');
  print('startDate: $startDate');
  print('endDate: $endDate');
  print(startDate.isBefore(now));
  print(endDate.isAfter(now));