确定Date
过去的最佳方式是什么?
目前我有:
If MyDate < Date.Now
答案 0 :(得分:1)
您所获得的是一个合理的起始点,但还有许多其他需要考虑的因素:
MyDate
是DateTime
,您确实需要考虑其Kind
。例如,如果种类是UTC,您可能应该使用DateTime.UtcNow
。如果类型是Local,则可以使用DateTime.Now
。如果它是未指定的,那么你有点夸张,因为它不清楚究竟是什么意思Today
代替Now
,或UtcNow.Date
代表UTC版本。DateTimeOffset
吗?这实际上取决于您的数据来源以及您想要附加的完全。(顺便说一下,如果你使用的是将不同类型的值分成不同类型的日期/时间API,那么很多这些问题会更加透明。所以我正在研究这样的API - {{ 3}}:)
答案 1 :(得分:0)
如果DateDiff(DateInterval.Day,MyDate,Date.Now)&lt; 0
答案 2 :(得分:0)
我假设你在同一时区工作。
这是一个小代码片段,展示了如何做到这一点:
Dim MyDate As Date = #11/4/2012#
Dim ts As TimeSpan = MyDate.Subtract(Today)
If ts.TotalDays < 0 Then
MsgBox("MyDate is in the past")
ElseIf ts.TotalDays > 0 Then
MsgBox("MyDate is in the future")
Else
MsgBox("MyDate is today")
End If