2017-10-15 26 views
0

我想查找两个DateTime是否在一周内。 其中之一是当前系统Datetime,我用了它:查找两个DateTime是否在一周内

DateTime CurrentDateTime = new DateTime(); 
CurrentDateTime = DateTime.Now; 

其他DateTime将只是一个选择的日期。假设它存储在一个名为:ExportDate的变量中。

所以,我可以通过做

ExportDate.Subtract(CurrentDateTime) 

找到它们之间的差异,但我不能改变这个值转换成int作为比较... 那么应该怎么比较这对DateTime,看看这两日期大于0天,小于7天。

+0

OT您让计算机做了太多工作:首先分配'new DateTime()',然后立即用'DateTime.Now'覆盖。跳过第一个作业和/或合并两条线。 –

+0

你想在“7天内”还是“在同一周内”?举个例子:“今天”和“下一个星期一”是否会匹配? –

回答

0

您可以使用

(ExportDate - CurrentDateTime).TotalDays <= 7 
1

尝试比较所产生的TimeSpanTotalDays。根据这就是后来的,其结果必然是-7和7.使用Math.Abs之间,以避免对比较两者界限值:

bool isWithinWeek = Math.Abs(ExportDate - CurrentDate).TotalDays) < 7 

如果一天中的时间是无关紧要的,只比较日期:

bool isWithinWeek = Math.Abs(ExportDate.Date - CurrentDate.Date).TotalDays) < 7 
0

您可以简单地使用DateTime的DayOfYear属性来获取年份中的一天,然后检查差异是否小于7。您可以尝试:

bool isWithinAWeek = Math.Abs(currentDateTime.DayOfYear-exportDate.DayOfYear)>7?false:true; 
相关问题