检查给定日期时间是否为整点的最有效方法是什么

本文关键字:有效 是什么 方法 日期 时间 是否 检查 | 更新日期: 2023-09-27 18:31:01

我有System.DateTime对象,我需要确认它是在整点。

那么,检查这一点的最有效方法是什么?

我想到的当前解决方案涉及转换对象 ToString() 并获取分钟/秒部分以查看它们是否等于零。如果有更简单的方法可以做到这一点,我将不胜感激!

检查给定日期时间是否为整点的最有效方法是什么

DateTime具有分钟和秒属性,您可以直接检查,无需转换。如果这与你相关,你可以在几毫秒内做同样的事情。

你可以以最高的精度走这条路。

if(date.Ticks % TimeSpan.TicksPerHour == 0)

我个人的解决方案是创建一个新的DateTime,该是整点,并将其与我想检查的进行比较,如下所示:

public bool IsOnHour(DateTime dateTime)
{
    var onHour = dateTime.Date + TimeSpan.FromHours(dateTime.Hour);
    return onHour == dateTime;
}

然后我不需要检查MinutesSecondsMilliseconds等。

尝试关注 .

var dt = new DateTime();
if (dt.Minute == 0 && dt.Second == 0 && dt.Millisecond == 0)

这是一种编程方式:

DateTime min = new DateTime(value.Year, value.Month, value.Day, value.Hour, 0, 0);
DateTime max = min.AddMinutes(1);
if (min <= value && value < max)

这会有意降低精度,使 12:59:00.000 与 12:59:27.198 相同。

你可以使用这个: if(DateTime.Now.Minute == 0 && DateTime.Now.Second == 0 && DateTime.Now.Millisecond == 0)

编辑:评论

相关文章: