C# 检查两次之间的秒差

C# 检查两次之间的秒差,c#,C#,大家好,我目前正在从事一个项目,当某个事件发生时,有关该事件的详细信息(包括事件发生的时间)将添加到列表数组中 方法完成后,我将列表传递给另一个检查其值的方法。在循环之前,我检查电脑的当前时间,我需要检查列表数组中保存的时间与当前时间之间的差异是否大于5秒 我该怎么做呢 假设dateTime1和dateTime2是值: 在您的例子中,您将使用DateTime.Now作为一个值,列表中的时间作为另一个值。请注意顺序,因为如果dateTime1早于dateTime2,DateTime在这种情况下有a

大家好,我目前正在从事一个项目,当某个事件发生时,有关该事件的详细信息(包括事件发生的时间)将添加到列表数组中

方法完成后,我将列表传递给另一个检查其值的方法。在循环之前,我检查电脑的当前时间,我需要检查列表数组中保存的时间与当前时间之间的差异是否大于5秒


我该怎么做呢

假设
dateTime1
dateTime2
是值:

在您的例子中,您将使用
DateTime.Now
作为一个值,列表中的时间作为另一个值。请注意顺序,因为如果
dateTime1
早于
dateTime2
,DateTime在这种情况下有a和a,则结果可能为负:

DateTime now = DateTime.UtcNow;
TimeSpan difference = now.Subtract(otherTime); // could also write `now - otherTime`
if (difference.TotalSeconds > 5) { ... }

我用这个来避免负间隔

var seconds = (date1< date2)? (date2- date1).TotalSeconds: (date1 - date2).TotalSeconds;
var秒=(日期1
此版本始终将秒数差作为正数返回(结果与@freedeveloper的解决方案相同):


谢谢,顺便说一句,var最终将是双重的:谢谢。。。我刚刚被错误地使用(毫秒)咬了一口,而我本应该使用(总毫秒)。。。哎哟。使用
Math.Abs
相反,这段代码的可读性和性能不如只使用上面的答案。
var seconds = (date1< date2)? (date2- date1).TotalSeconds: (date1 - date2).TotalSeconds;
var seconds = System.Math.Abs((date1 - date2).TotalSeconds);