如何将两个DateTime与秒进行比较?

Vla*_*huk 20 .net c#

如何将两个DateTime与秒进行比较?

Dan*_*mov 37

var date1 = DateTime.Now;
var date2 = new DateTime (1992, 6, 6);

var seconds = (date1 - date2).TotalSeconds;
Run Code Online (Sandbox Code Playgroud)

  • (int)(date1 - date2).TotalSeconds将阻止使用一秒的分数 (10认同)

Jon*_*eet 32

你的意思是将两个DateTime值比较到第二个吗?如果是这样,您可能需要以下内容:

private static DateTime RoundToSecond(DateTime dt)
{
    return new DateTime(dt.Year, dt.Month, dt.Day,
                        dt.Hour, dt.Minute, dt.Second);
}

...

if (RoundToSecond(dt1) == RoundToSecond(dt2))
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

或者,要确定两个DateTime是否在彼此的秒内:

if (Math.Abs((dt1 - dt2).TotalSeconds) <= 1)
Run Code Online (Sandbox Code Playgroud)

如果这些都没有帮助,请在问题中提供更多细节.


Yog*_*esh 12

如果从另一个日期中减去一个日期,则返回TimeSpan具有TotalSeconds属性的日期.所以:

double seconds = (Date1 - Date2).TotalSeconds;
Run Code Online (Sandbox Code Playgroud)