首页 > 解决方案 > Flutter:检查日期是否在两个日期之间

问题描述

我需要检查日期是否在两个日期之间。

我试图搜索它,但没有得到丰硕的结果。可能你见过这样的场景。所以,寻求你的建议。

这是我的代码。

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

所以,基本上我有开始日期和结束日期。我需要检查当前日期是否介于这两个日期之间。

标签: flutterdart

解决方案


您可以在“DateTime”类中使用“isBefore”和“isAfter”之前/之后进行检查。
在此处输入图像描述

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

推荐阅读