phpbar.de logo

Mailinglisten-Archive

[php] Zeitabfrage

[php] Zeitabfrage

Michael Detambel detambel at bfw-oberhausen.de
Mon Mar 22 16:39:20 CET 2004


Weil ich schon etwas länger programmiere, als es PHP gibt, und das oft 
mit Sprachen, die in Punkto Datumsverarbeitung wenig oder nichts 
anbieten, habe ich mir angewöhnt, mit dem Julianischen Tag zu arbeiten.

Das hat den Vorteil, dass man sich nur zwei Funktionen schreiben muss, 
nämlich Gregorianisches Datum -> Julianischer Tag und umgekehrt. (Der 
Julianische Tag ist eine Erfindung von Julius Scaliger (1540 - 1609), 
dem "Chefarchitekten" der Gregorianischen Kalendereform.)
Die Julianische Epoche (= Tag 1) ist der 1. Januar 4713 v. Chr., das 
Ende des Zyklus der 22. Januar 3268 (gregorianisch). Da kann man auch 
gelassen dem Ende des Unix-Timestamps entgegensehen.

Die Berechnung der Tage-Differenz zweier Datumsangaben besteht dann aus:
1) Berechnung des JT für beide Datumsangaben
2) Differenz der beiden JT bilden.

Schaltjahre, Mondzyklen (Ostern!) etc. sind in dieser Periode bereits 
berücksichtigt. Der Wochentag ist einfach JT Modulo 7.

Die entsprechenden Algorithmen findet man in "ACM Communications", 
Jahrgang 1963. Bei Bedarf kann ich sie für die jüngeren auch gerne hier 
posten ;-)

Gruß
Michael Detambel
BFW Oberhausen



php::bar PHP Wiki   -   Listenarchive