Hallo Tom,
Allerdings sehe ich die Falle für eine seblstgebastelte Lösung noch ganz woanders.
Man muss ja auch sicherstellen, dass die Länder- und zeitzoneneinstellungen des Servers und der Installation berücksichtigt werden.
Deswegen nutzt meine erste Lösung für PHP > 5.2 auch das DateTime-Objekt (das macht das automatisch) und meine zweite Lösung eben mktime(), d.h. es macht nur die Kalenderberechnung (für das Datum!) selbst, nicht jedoch das Berechnen des Timestamps, den ich in dem Fall PHP und damit dem Betriebsystem überlasse. Sprich: Außer, der Rechner ist irgendwie kaputtkonfiguriert erhalte ich selbst bei meiner "manuellen" Lösung richtige Ergebnisse und muss mich um Sommer- und Winterzeit nicht kümmern.
Sommer- und Winterzeit gibt es nicht überall auf der Welt, die Umstellungstage sind wohl auch unterschiedlich und die Anzahl der Stunden (?) auch?
Ja. Das ist eine ziemlich lustige Geschichte. Zum einen können sich die Tage ändern, zum Beispiel hat vor kurzem die USA das umgestellt, sprich 2004 hat man noch zu anderen Tagen umgestellt, als 2007, zum anderen gibt's so lustige Länder, die das jedes (halbe) Jahr per Parlamentsbeschluss neu festlegen, dann gibt's noch Länder, die sich nach anderen Kalendern richten (Israel richtet sich nach Feiertagen im hebräischen Kalender). Und dann gibt's noch die Südhalbkugel, wo im Dezember Sommer und im Juli Winter ist. Ferner kann sich in den USA jeder Bundesstaat (evtl. sogar noch kleinere Einheiten) selbst aussuchen, ob sie der Sommerzeit nutzen wollen oder lieber nur in Standardzeit (= Winterzeit) bleiben und gar keine Umtsellung haben wollen, zudem gibt's in großen Ländern wie den USA oder Russland verschiedene Zeitzonen abhängig von der geographischen Lage.
In der Regel wird heutzutage bei Sommerzeit eine Stunde vorgestellt. Mir sind keine aktuellen Ausnahmen bekannt, was aber nicht heißt, dass es keine gibt. Es gab aber zum Beispiel hier in Deutschland früher mal eine Zeit lang die sogenannte "Midsommerzeit", d.h. für etwa einen Monat während des Sommers selbst wurde nochmal zusätzlich eine Stunde weitergestellt (d.h. man hatte GMT+1 im Winter, im Frühjahr und Herbst hatte man GMT+2 und im Sommer GMT+3).
Im Internet gibt's eine frei verfüg- und benutzbare "Datenbank" mit Zeitzoneninformationen, die auch alle möglichen Umstellungen der Sommer- und Winterzeit beinhaltet, teilweise bis ins 19. Jahrhundert zurück: http://www.twinsun.com/tz/tz-link.htm Diese wird auch von den meisten UNIXartigen Betriebsystemen heutzutage verwendet. Microsoft braut bei Windows mal wieder ein eigenes Süppchen, das Unicode-Consortium bietet aber im Rahmen des "Common Locale Data Repository" (http://unicode.org/cldr/) eine XML-Datei an, die die Zeichenketten, die in der Windows-Registry stehen, Zeitzonen aus der Olson-Datenbank zuordnet.
Außerdem sind die Kalender dieser Erde zum teil auch noch vollkommen unterschiedlich.
Ja klar - allerdings ist die Frage, was in diesem Fall relevant ist. In Israel, vielen muslimischen Staaten oder China (die besitzen alle einen eigenen Kalender) wird für viele Dinge - insbesondere, was Kommunikation angeht - der gregorianische Kalender (also unserer) verwendet - zudem standardisiert ISO 8601 ebendiesen gregorianischen Kalender. Und fast alle Computersysteme können auch nur den gregoriansichen Kalender berechnen.
Ich könnte jetgzt noch nicht einmal sagen, ob alle Völker dieser Erde die Wochentage Montag bis Sonntag haben...
Alle vermutlich nicht, aber sogar z.B. die Chinesen kennen (und kannten früher schon) 7 Wochentage, d.h. die Unterteilung "Woche" scheint recht universell zu sein. Die Frage ist, woher das ursrpünglich kam oder ob sich das nicht sogar unabhängig voneinander entwickelt hat...
Andererseits ist zumindest die ganze Diskussion um andere Kalender ziemlich irrelevant für diese Fragestellung, da hier ja eine Frage gestellt wurde, die ganz klar auf den hiesigen Kalender gemünzt war.
Viele Grüße,
Christian