ich bin auf der Suche nach einer Möglichkeit, die die Differenz zwischen 2 Daten errechnet. Dabei sollen idealerweise Schalttage und Schaltsekunden berücksichtigt werden. Aus der Python-Welt kenne ich die DateDiff aber meine Suche in der C/C++-Welt brachte diesbezüglich keinen Erfolg.
Ich habe mir (wie vieler Orts im Internet empfohlen) mit der Umrechnung auf Unix Zeitstempel und deren Subtraktion beholfen. Dabei sind aber die Schalttage / -Sekunden unberücksichtigt. Dementsprechend passen meine Ergebnisse nicht. Natürlich kann man auch diese auslesen und in die Berechnung einfließen lassen aber das scheint mir eine Art Hilfskrücke zu werden. Geht das auch eleganter?
Idealerweise kann man zwischen 2 festen Daten (DateTime1/DateTime2) im Format "yyyy-mm-dd / h:mm:ss" berechnen lassen oder sogar von DateTime1 zu DateTimeNow (Vergangenheit) bzw. von DateTimeNow zur DateTime2 (Zukunft)
Warum gibt es Schaltsekunden?: "Schaltsekunden orientieren sich an der Rotationsgeschwindigkeit der Erde. Da diese schwankt, werden auch Schaltsekunden in unregelmäßigen Abständen eingefügt."
Offensichtlich läßt sich die Erdrotation nicht genau vorhersagen, weshalb eine Berücksichtigung von Schaltsekunden in der Zukunft nicht möglich ist.
Sorry, ich habe die Rechnung noch mal nachvollzogen und gegen gecheckt. Die Daten passen in der Tat. Die Schaltjahre werden entgegen meiner ersten Annahme berücksichtig. Danke für den kleinen Schubser in die richtige Richtung
Ich habe noch eine Nachfrage: Wenn ich nun die richtige Differenz aus den Timestamps ermittelt habe, ist die Umrechnung insbesondere bei langen Zeiträumen in Jahr/Monat/Tag ja immer noch ein Problem. Nach welcher Formel (Stichwort Schaltjahre) muss hier umgerechnet werden, um die korrekten Zeitabständen zu ermitteln?
Und ich zu 99% das nicht.
Die Frage ist:
Ich habe ein Startdatum. Ich habe ein Enddatum
Ich will die Angabe in Jahr(e)/Monat(e)/Tag(e) der abgelaufenen Zeit.
Unter Berücksichtigung des Startdatum; Weil unter Berücksichtigung der Schalttage, die in der Ablaufzeit anfallen.
Also muss ich schon ein wenig selbst Formel bauen....
Ja, es läuft auf Formel bauen raus, denn so einfach umrechnen scheint nicht möglich. Schade, ich hatte gehofft, dass das durch eine Lib geregelt werden kann. Bei all dem wundere ich mich jedoch, dass es dafür noch keine Lösung zu geben scheint (wo doch sonst fast alles im Netz zu finden ist). Ich kann doch nicht der erste mit diesem Problem sein?!