// for date comparison
DateTime stdt = DateTime.parse(postList.startDate.toString());
DateTime endt = DateTime.parse(postList.endDate.toString());
DateTime crdt = DateFormat('dd-MM-yyyy').format(DateTime.now()) as DateTime;
if (stdt.isAtSameMomentAs(endt)){
if(stdt.isBefore(crdt)){
setState(() {
ComparisonText = "Past";
ContainerColor = Colors.red;
});
}
else if (stdt.isAfter(endt)){
setState(() {
ComparisonText = "Upcoming";
ContainerColor = Colors.yellow;
});
}
else{
setState(() {
ComparisonText = "Ongoing";
ContainerColor = Colors.yellow;
});
}
} else{
if(stdt.isBefore(crdt)){
if(endt.isBefore(endt)){
setState(() {
ComparisonText = "Past";
});
}
} else if (stdt.isAtSameMomentAs(endt)){
setState(() {
ComparisonText = "Ongoing";
});
}else{
setState(() {
ComparisonText = "Upcoming";
});
}
}
我有自定义日期格式,我想比较日期。
我是颤振新手,我想要比较日期来显示日程安排是过去的、即将到来的还是正在进行的。
也许您需要在解析之前指定时间格式。
所以你可以尝试更换
DateTime stdt = DateTime.parse(postList.startDate.toString());
DateTime endt = DateTime.parse(postList.endDate.toString());
with
DateTime stdt = DateFormat("dd-MM-yyyy").parse(postList.startDate.toString()));
DateTime endt = DateFormat("dd-MM-yyyy").parse(postList.endDate.toString()));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)