2016-03-29 3 views
1

Ich versuche diesen VB6-Code zu VB.NET zu übersetzen, aber ich kann nicht scheinen zu verstehen, wie fügt dieser Code 30 zu einem Date hinzu?VB6 Code Übersetzung Date1> (Date2 + 30)

Code:

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

Frage:

  1. Welchen Wert des 2 Datum tut der Code berechnet? (Ist es day > day, month > month, year > year?)
  2. Wo wird der Wert hinzugefügt? (Day, month oder year?)
  3. Was ist das Äquivalent dieser VB6 Code VB.NET?

Antwort

3
  1. Es bestimmt, ob das Datum in Date1 größer ist als das Datum in Date2 zuzüglich 30 Tage.

  2. Es fügt Tage

  3. Sie dateVar.AddDays()

+0

Mache ich es richtig? 'Wenn Date1.Value.Date> DateAdd (DateInterval.Day, 30, Date2.Value.Date)' –

+0

Machst du was richtig? –

+0

oder wie 'If Date1.Value.Date> Date2.Value.Date.AddDays (30)' –

3

In VB6/VBA nennen würde, erhalten Sie eine ganze Zahl zu einer Datumsvariablen hinzufügen und es würde hinzufügen, dass viele Tage es. So, Date2 + 30 ist das gleiche wie DateAdd("D", 30, Date2)

In VB.NET, Date+Integer wird nicht unterstützt. Sie müssen also auf die zweite Möglichkeit zurückgreifen, um Tage zu einem Datum hinzuzufügen.

würde also sein das Äquivalent von Code in VB.NET:

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

Die DateAdd("D", 30, Date2) Syntax noch unterstützt wird (obwohl ich es nicht verwenden wird empfohlen). Also würde folgendes auch funktionieren:

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