Hallo Gunnar,
Kalenderarithmetik auf Basis von Millisekunden ist wie click-Handler für divs. Technisch geht es, aber sinnvoll ist es nicht.
Ups. Ich glaube, ich muss Jürgen noch was stecken 😉 - es sei denn, für seine Bubbling-Visualisierung ist ein div-click akzeptabel.
31556952000 mag die exakte Länge eines gregorianischen Kalenderjahres in Sekunden sein - aber damit kannst Du nicht rechnen, weil die Kalenderzahlen eine Approximation an diese Länge sind. Korrekturwerte dürften davon abhängen, wie weit der Geburtstag vom nächsten Schalttag weg ist. Für die moderne Zeit kann man das mit "maximal 4 Jahre" limitieren, aber im Stammbaum können es bis zu 8 Jahre sein.
Schaltsekunden sind immerhin irrelevant. JavaScript verwendet die Posix-Zeitspezifikation, die die Schaltsekunden ignoriert.
Ob eine Betrachtung des Schaltjahres im Geburtsjahr genügt, müsstest Du erstmal belegen. Dafür musst Du - denke ich - 9 Fälle untersuchen (drei Fälle pro Jahr: kein SJ, SJ Jan/Feb, SJ Mar-Dec). Good Luck. Oder Du machst die Mathematik zum Wochenende draus 🤣. Je nach Ergebnis kannst Du dann ein Minus oder Plus beantragen (selbst geben kannst Du es Dir ja nicht 😉).
Der vernünftige Programmierer wählt aber den leichter nachvollziehbaren Algorithmus statt den VIELLEICHT schnelleren, aber schwer verständlichen. Das mag Rechenzeit vergeuden. Aber auch beim Programmieren gilt: Don't Make Me Think (Too Much).
Rolf
sumpsi - posui - obstruxi