Flutter: controlla se la data è compresa tra due date

Oct 17 2020

Devo controllare che la data sia compresa tra due date o meno.

Ho provato a cercarlo ma non ho ottenuto risultati fruttuosi. Forse hai visto tali scenari. Quindi, cercando il tuo consiglio.

Ecco il mio codice.

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);
    
  }

Quindi, fondamentalmente ho la data di inizio e la data di fine. Devo controllare che la data corrente sia compresa tra queste due date o meno.

Risposte

5 KuKu Oct 17 2020 at 14:13

Puoi controllare prima / dopo aver usato "isBefore" e "isAfter" nella 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));