VB6 代码翻译 Date1 > (Date2 + 30)

VB6 code translation Date1 > (Date2 + 30)

我正在尝试将此 VB6 代码翻译成 VB.NET 但我似乎无法理解此代码如何将 30 添加到日期?

代码:

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

问题:

  1. 代码计算的 2 日期的值是多少? (是day > daymonth > monthyear > year吗?)
  2. 30加到哪里? (Daymonth 还是 year?)
  3. VB6 代码与 VB.NET 的等效项是什么?
  1. 判断Date1中的日期是否大于Date2中的日期加上30天。

  2. 增加天数

  3. 你会打电话给dateVar.AddDays()

VB6 / VBA 中,您可以将一个整数添加到日期变量,它会添加那么多天。 所以,Date2 + 30 等同于 DateAdd("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