Wie berechne ich die Differenz zweier Daten? (Tage,Datum)
Ich möchte in C die Differenz zweier Daten programmieren.
Z.B.: 1.3.2013. - 1.1.2012. Davon bräuchte ich jetzt die Differenz (in Tagen).
Eine Formel, bzw. ein Rechenweg würde mir auch schon sehr weiterhelfen. Ist es sinnvoll das Datum zuerst komplett in Tage umzurechnen? Oder gibt es einen besseren Weg?
3 Antworten
Auch ich würde zuerst beide Datumsangaben in Tage umrechnen - unter korrekter Berücksichtigung der Schaltjahre. Dann brauchst du die beiden Zahlen nur mehr zu subtrahieren.
Eine Formel, wie du möglichst einfach ein Datum in eine Tagesanzahl umrechnen kannst, findest du in der Mitte der Seite 187 der Anleitung zum guten alten HP-12c Taschenrechner:
- in A1 steht 1.1.2012
- in B1 steht 1.3.2013
- in C1 steht =B1 - A1
Wenn B1 auch kleiner sein kann als A1, schreibst du in C1
- =WENN(B1>A1;B1-A1;A1-B1)
Das ganze jetzt nur in mittels Formatierung als Zahl anzeigen lassen: Rechtsklick auf das Feld --> Zellen formatieren --> Zahlen --> Zahl
"Dazu verwendet man am einfachsten die Julian Day Number - Berechnung: Durch Umwandlung eines Datums in die sogenannte Julian Day Number kann man bequem Datumsberechnungen ausführen. Die JDN gibt die Anzahl der Tage zwischen dem 1. Januar 4713 und einem Datum an (wobei natürlich alle Datumsangaben vor der Einführung des gregorianischen Kalenders rein theoretischer Natur sind ;-) )"
Quelle und Lösung hier: http://w-w-w.ms/a15l14#1941817
Verwende die Funktion difftime()
Du brauchst das Ergebnis (Sekunden) für die Anzahl der Tage nur durch 84000 zu teilen.
Es ging darum, das in C zu programmieren - und nicht in Excel …