Rechnen mit Datumswerten

Aus VBA-wiki
Version vom 10. Oktober 2018, 14:28 Uhr von Pwania (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Rechnen mit Datumswerten == === Direkte Addition und Subtraktion === Datumsangaben werden in Double-Werten gespeichert. Die Stellen vor dem Komma bezeichn…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Rechnen mit Datumswerten

Direkte Addition und Subtraktion

Datumsangaben werden in Double-Werten gespeichert. Die Stellen vor dem Komma bezeichnen die Tage seit dem 30. Dezember 1899. Die Nachkommastellen bezeichnen die Uhrzeit als Anteil eines Tages, wobei 1.0 einen ganzen Tag, 0.5 einen halben Tag (12 Stunden) usw. bedeuten.

Das direkte Addieren und Subtrahieren von Datumswerten liefert also die Angabe der Summe bzw. der Differenz in Tagen und Anteilen des Tages:

   dteDate = "2015-05-23 23:01:32"
   Debug.Print Now() - dteDate          ' Ergibt  36.6611458333355

Bei einem Ergebnis von 36 Tagen können wir davon ausgehen, dass der Unterschied über einen Monat bedeutet. Bei einem Ergebnis von 28 Tagen wäre dies davon abhängig, ob der Monat ein Februar ist und ob dieser in einem Schaltjahr liegt. Um trotzdem zuverlässige Ergebnisse zu erhalten, verwenden Sie bitte die Datumsfunktionen:

Datumsfunktionen zur Berechnung von Datumsunterschieden

Bei den Datumsfunktionen wird angegeben, welcher Intervall (Jahr, Monat, tag, Stunde, Minute, Sekunde, ...) betroffen sein soll. Wenn Sie beispielsweise zwei Tage und 3 Stunden addieren möchten, können Sie dies in zwei Schritten tun.

Mögliche Intervalle

Angabe Wert
yyyy Jahr
q Quartal
m Monat
y Tag des Jahres
d Tag
w Wochentag
ww Woche
h Stunde
n Minute
s Sekunde

Liste der Rechenfunktionen

DateAdd()
DateDiff()

Rückgabe von Datums- und Zeitangaben

DatePart()
Day()
Month()
Year()
Hour()
Second()