我确信这已经得到了解答,但无论我输入与日期时间有什么关系,我都得到一个与我所需要的完全无关的不同答案,所以请耐心等待^ _ ^
如果我有日期时间字面值
dim IDate as DateTime = #6:21:00am#
我根据一天创建日期
dim iCurrentDate as DateTime = (2012,9,9,6,0,0)
现在我已经知道iCurrentDate比iDate 更大因为日期 , 我如何比较这些天的次?
例如,我希望此返回iDate 大于而不是iCurrentDate,因为早上6:21是>早上6点
编辑:我实际上是在使用c#i dunno为什么我在vb.net中写了这个问题,它也有一个秒组件。
答案 0 :(得分:2)
单独测试Hour
和Minute
组件
If IDate.Hour > iCurrentDate.Hour Then
Return True
ElseIf IDate.Hour = iCurrentDate.Hour And IDate.Minute > iCurrentDate.Minute Then
Return True
End If
Return False
答案 1 :(得分:2)
只需使用TimeOfDay属性:
Sub Main
Dim date1 As DateTime = #6:21:00am#
Dim date2 as New DateTime(2012,9,9,6,0,0)
Console.WriteLine("date1 > date2: {0}", (date1 > date2))
Console.WriteLine("date1.TimeOfDay > date2.TimeOfDay: {0}", (date1.TimeOfDay > date2.TimeOfDay))
End Sub
'Result:
'date1 > date2: False
'date1.TimeOfDay > date2.TimeOfDay: True
答案 2 :(得分:1)
TimeSpan结构就在这里
Dim t1 as New TimeSpan(IDate.Hour, IDate.Minute, IDate.Seconds)
Dim t2 as New TimeSpan(ICurrentDate.Hour, ICurrentDate.Minute, ICurrentDate.Seconds)
if t2 > t1 then
....
答案 3 :(得分:0)
您可以使用DateTime
将.TotalMinutes
的值转换为分钟数来比较{{1}}的值
if iCurrentDate.TotalMinutes > IDate.TotalMinutes Then 'iCurrectdate is greater else 'IDate is greater End If