DateDiff

Vergleicht zwei Datum-Zeit-Werte und gibt die Differenz zurück.

Ergebnis := DateDiff(DatumZeit1, DatumZeit2, ZeitEinheit)

Parameter

DatumZeit1, DatumZeit2

Typ: Zeichenkette

Zeitstempel im YYYYMMDDHH24MISS-Format.

Wenn einer der Parameter eine leere Zeichenkette ist, wird die aktuelle Ortszeit (A_Now) verwendet.

ZeitEinheit

Typ: Zeichenkette

Die Einheit, in der die Differenz gemessen werden soll. ZeitEinheit kann eine der folgenden Zeichenketten sein (oder jeweils nur der erste Buchstabe davon): Seconds, Minutes, Hours oder Days.

Rückgabewert

Typ: Integer

Diese Funktion gibt die Differenz zwischen zwei Zeitstempeln in der angegebenen ZeitEinheit zurück. Wenn DatumZeit1 älter als DatumZeit2 ist, wird eine negative Zahl zurückgegeben.

Das Ergebnis wird immer auf die nächste ganze Zahl abgerundet. Wenn z.B. die tatsächliche Differenz zwischen zwei Zeitstempeln 1.999 Tage beträgt, wäre das gemeldete Ergebnis 1 Tag. Um eine höhere Genauigkeit zu erzielen, geben Sie für ZeitEinheit das Wort Seconds an und teilen Sie das Ergebnis durch 60.0, 3600.0 oder 86400.0.

Bemerkungen

Die interne Variable A_Now enthält die aktuelle Ortszeit im YYYYMMDDHH24MISS-Format.

Um die verstrichene Zeit zwischen zwei Ereignissen genau zu bestimmen, verwenden Sie die A_TickCount-Methode, weil sie eine Präzision im Millisekundenbereich ermöglicht.

Mit DateAdd können Sekunden, Minuten, Stunden oder Tage zu einem Zeitstempel addiert oder davon subtrahiert werden (mit einer negativen Zahl wird eine Subtraktion erreicht).

Enthält DatumZeit einen ungültigen Zeitstempel oder ein Jahr älter als 1601, wird ein ValueError ausgelöst.

DateAdd, FileGetTime, FormatTime

Beispiele

Berechnet die Anzahl der Tage zwischen zwei Zeitstempeln und meldet das Ergebnis.

var1 := "20050126"
var2 := "20040126"
MsgBox DateDiff(var1, var2, "d")  ; Das Ergebnis ist 366, weil 2004 ein Schaltjahr ist.