【问题标题】:VB6 code translation Date1 > (Date2 + 30)VB6 代码翻译 Date1 > (Date2 + 30)
【发布时间】:2016-03-29 10:06:21
【问题描述】:

我正在尝试将此 VB6 代码转换为 VB.NET 但我似乎无法理解这段代码如何将 30 添加到日期?

代码:

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

问题:

  1. 代码计算 2 日期的什么值? (是day > daymonth > monthyear > year吗?)
  2. 30 的值在哪里增加? (Daymonthyear?)
  3. 这个 VB6 代码与 VB.NET 的等价物是什么?

【问题讨论】:

    标签: vb.net vb6 vb6-migration


    【解决方案1】:
    1. 判断Date1中的日期是否大于Date2中的日期加上30天。

    2. 增加天数

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

    【讨论】:

    • 我做对了吗? If Date1.Value.Date > DateAdd(DateInterval.Day, 30, Date2.Value.Date)
    • 或这样If Date1.Value.Date > Date2.Value.Date.AddDays(30)
    【解决方案2】:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多