我需要比较两个日期时间值以确定相等(完全相同),使用精确度.这是最好的方法吗?我的日期可能有几秒和几毫秒,但我想只考虑到几分钟.
where (Math.Abs(datetime1.Subtract(datetime2).TotalMinutes) == 0)
解决方法
检查Math.Abs(diff.TotalMinutes)== 0是否不会这样做,不 – 检查它们是否完全相同.
您是在尝试检查它们是否有相同的分钟,或者它们是否相隔不到一分钟?首先,使用:
where RoundToMinute(dateTime1) == RoundToMinute(dateTime2)
宣布:
public static DateTime RoundToMinute(DateTime time) { return new DateTime(time.Year,time.Month,time.Day,time.Hour,time.Minute,time.Kind); }
对于第二个,使用:
where Math.Abs((dateTime1 - dateTime2).TotalMinutes) < 1
你应该考虑一下你想要的结果是一个是本地的,一个是UTC的,顺便说一下……
请注意,这里没有LINQ特定的 – 假设您正在使用LINQ to Objects.如果您正在使用LINQ to sql,那么显然您无法使用本地方法,我们将不得不重新审视……
编辑:我仍然不清楚你的问题.如果您需要它们完全相同的日期/时间,那么很容易(抛开可能的本地与UTC问题):
where dateTime1 == dateTime2
原文地址:https://www.jb51.cc/csharp/92844.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。