vb.net hinzufügen von Tagen zu einem Datum
Dim DespatchDate As DateTime
Dim ReceiptDate As DateTime
DespatchDate = #3/7/2017 12:00:00 AM# 'I am in the UK so this is 3rd July 2017
ReceiptDate = DespatchDate.AddDays(60) 'Returns #5/6/2017 12:00:00 AM#
Ich würde erwarten, dass "1/9/2017" der 1. September 2017
Ich habe auch versucht
ReceiptDate = DateAdd("d", 10, DespatchDate) which returned #3/17/2017 12:00:00 AM#
Ich muss etwas falsch, aber was?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem Datums-Literale in VB verwendet das US-format, unabhängig davon, wo Sie sind. Ihr code:
schaffen, das Datum 7. März 2017. Lesen Sie mehr über Datums-Literale oder verwenden Sie den Konstruktor für das date-Klasse, die es macht deutlicher, was Sie tun.
Update
Um sicher zu sein, welche das Datum und um Unklarheiten zu vermeiden, können Sie definieren es so:
Die gute Sache mit diesem ist, dass Sie sehen können, von intellisense während der Eingabe den code, was jede Zahl bedeutet. Und wenn jemand anderes geschrieben hatte, den code, können Sie intellisense aufrufen, um zu sehen, was jedes argument bedeutet. Wie Sie sehen können von dem, was ich hervorgehoben in meinem screenshot, die Zeit ist im 24-Stunden-format.
New Date(2017, 7, 3)
Dim d = #2017-06-26 8:17PM#
. Ref: Date-Datentyp (Visual Basic).