VB6 代码转换 日期 1 > (日期 2 + 30)



我正在尝试将此VB6代码转换为VB.NET但我似乎不明白这个代码是如何在Date中添加30的?

代码:

if Date1 > (Date2 + 30) then
'Condition
end if

问题:

  1. 代码计算2个日期的值是多少?(是day > daymonth > month还是year > year?)
  2. 30的值加在哪里?(Daymonth还是year?)
  3. 这个VB6代码与VB.NET的等价物是什么
  1. 它确定Date1中的日期是否大于Date2中的日期加30天。

  2. 它增加了天数

  3. 您可以呼叫dateVar.AddDays()

VB6/VBA中,您可以向日期变量添加一个整数,它会向其中添加那么多天。因此,Date2 + 30DateAdd("D", 30, Date2) 相同

在VB.NET中,不支持Date+Integer。所以你必须采用第二种方式来增加约会天数。

因此,您在VB.NET中的代码等效为:

If date1 > date2.AddDays(30) Then
    'Condition
End If

仍然支持DateAdd("D", 30, Date2)语法(尽管我不建议使用它)。因此,以下方法也适用:

If date1 > DateAdd(DateInterval.Day, 30, date2) Then
    'Condition
End If

最新更新