我们有这个项目,其中一个业务要求是允许客户输入多个日期范围,并检查各个日期是否顺序/连续或不是其他日期。
当量
INPUT
startdate - enddate
2016/10/24 - 2016年10月24日
2016/10/26 - 2016年10月28日
输出
2016/10/24 - 2016年10月24日 - 没有顺序
2016/10/26 - 2016/10/26 - SEQUENTIAL
2016/10/27 - 2016/10/27 - SEQUENTIAL
2016/10/28 - 2016/10/28 - SEQUENTIAL
现在我正在玩这个解决方案 Check if date range is sequential in c#? 但我希望我能找到一个更好的解决方案,如何正确地做到这一点。
谢谢你,祝你有个美好的一天!
答案 0 :(得分:1)
如果通过"顺序"我们的意思是第二个日期是第一个日期之后的第二天,然后我们可以执行以下操作:
private bool CheckSequential(DateTime date1, DateTime date2)
{
// strips off time portion
var d1 = date1.Date;
var d2 = date2.Date;
// add 1 to first date
d1 = d1.AddDays(1);
// compare them
if(DateTime.Compare(d1, d2) == 0)
return true;
else
return false;
}