Flutter: проверьте, находится ли дата между двумя датами

Oct 17 2020

Мне нужно проверить дату между двумя датами или нет.

Я попытался найти его, но безрезультатно. Возможно, вы видели такие сценарии. Итак, ищу вашего совета.

Вот мой код.

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

Итак, в основном у меня есть дата начала и дата окончания. Мне нужно проверить, что текущая дата находится между этими двумя датами или нет.

Ответы

5 KuKu Oct 17 2020 at 14:13

Вы можете проверить до / после использования isBefore и isAfter в классе 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));