我需要检查日期是否在两个日期之间。
我尝试搜索它,但没有得到丰硕的结果。 可能您已经看到了这种情况。因此,寻求您的建议。
这是我的代码。
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);
}
所以,基本上我有开始日期和结束日期。我需要检查当前日期是否介于这两个日期之间。
答案 0 :(得分:4)
您可以在'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));
答案 1 :(得分:0)
不要忘记检查当天是否与两个日期之一相同 通过在条件 ex 中添加一个 or : if ( start is before now || (start.month==now.month && start.day==now.day ...etc)