Rechnen mit Datumswerten: Unterschied zwischen den Versionen

Aus VBA-wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
[[Category:vba-wiki]]
Siehe auch [[Datum und Uhrzeit]]
== Rechnen mit Datumswerten ==
== Rechnen mit Datumswerten ==
Siehe auch [[Datum und Uhrzeit]]


=== Direkte Addition und Subtraktion ===
=== Direkte Addition und Subtraktion ===

Aktuelle Version vom 28. Januar 2023, 00:39 Uhr

Siehe auch Datum und Uhrzeit

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()