似乎有几种可能的方法来确定给定的System.DateTime是否表示午夜。每种方法的优缺点是什么?哪个更具可读性,哪个性能更好?
编辑:我认为可读性比性能更重要,直到分析发现有问题为止。这就是为什么我两个都问的原因。
示例1
Public Function IsMidnight(ByVal value As Date) As Boolean
Return value.TimeOfDay = TimeSpan.FromHours(0)
End Function
示例2
Public Function IsMidnight(ByVal value As Date) As Boolean
Return value.CompareTo(value.[Date]) = 0
End Function
发布于 2009-03-25 12:56:22
这是一些微优化,任何一种方法都可以很好地工作。
无论如何,我认为这是性能最好的:
Public Function IsMidnight(ByVal value As Date) As Boolean
Return value.TimeOfDay.Ticks = 0
End Function
如果你想要易于理解的代码,也许这是最好的:
Public Function IsMidnight(ByVal value As Date) As Boolean
Return value.TimeOfDay = TimeSpan.Zero
End Function
发布于 2009-03-25 12:53:48
视情况而定。您是想检查午夜到第二个小时的准确时间,还是仅仅检查现在是午夜时间?
午夜时分
Public Function IsMidnightHour(ByVal date as Date) As Boolean
return date.Hour = 0
End Function
半夜的小时和分钟
Public Function IsMidnightHourAndMinute(ByVal date as Date) As Boolean
return date.Hour = 0 AndAlso date.Minute = 0
End Function
为了简单起见,你可以使用你的例子。然而,这将包括直到毫秒的检查,这可能不是您想要的。
https://stackoverflow.com/questions/681435
复制相似问题