Hi,
ich habe ein Formular in dem man ein Datum angeben kann. Dieses wird dann in eine MySQL-Datenbank geschrieben. Das ganze wandel ich vorher in den entsprechenden Timestamp um:
Für den 7.12.2009 0:00Uhr habe ich dann den Wert "2009-12-07 00:00:00" in meiner DB stehen. Korrekt also.
Das Problem ist jetzt, den Timestamp aus der DB zu holen (mache ich mit "UNIX_TIMESTAMP" und wieder entsprechend aufzuschlüsseln:
Hier bekomme ich für die Stunde den Wert "1", da es sich ja um ein Datum aus dem Dezember handelt. Für z.B. einen Juli würde ich korrekt den Wert "0" bekommen.
Meine Frage: Wie schlüssel ich das ganze wieder auf ohne mir über Sommer/Winterzeit Gedanken machen zu müssen.
Also praktisch immer den Wert, wie ich ihn in der Datenbank sehe auch so wieder zurückzubekommen?
Habe schon gegoogelt und gesehen, dass man mit
herausbekommen kann, ob es sich jetzt um Sommerzeit handelt oder nicht.
Bei dem Wert "0" wäre die Zeit also korrekt (z.B. im Juli), bei "1" hätte ich das Problem der "falschen" Stunde. Aber wie mache ich mir das jetzt genau zu Nutze oder gibt es ne Alternative zu date, wo ich mir um diese Geschichten keine Gedanken machen muss?
Vielen Dank im Voraus
ich habe ein Formular in dem man ein Datum angeben kann. Dieses wird dann in eine MySQL-Datenbank geschrieben. Das ganze wandel ich vorher in den entsprechenden Timestamp um:
PHP:
$date = date("Y-m-d H:i:s",mktime($hour,$minutes,$seconds,$month,$day,$year));
Für den 7.12.2009 0:00Uhr habe ich dann den Wert "2009-12-07 00:00:00" in meiner DB stehen. Korrekt also.
Das Problem ist jetzt, den Timestamp aus der DB zu holen (mache ich mit "UNIX_TIMESTAMP" und wieder entsprechend aufzuschlüsseln:
PHP:
$hour = date("H",$timestamp);
Hier bekomme ich für die Stunde den Wert "1", da es sich ja um ein Datum aus dem Dezember handelt. Für z.B. einen Juli würde ich korrekt den Wert "0" bekommen.
Meine Frage: Wie schlüssel ich das ganze wieder auf ohne mir über Sommer/Winterzeit Gedanken machen zu müssen.
Also praktisch immer den Wert, wie ich ihn in der Datenbank sehe auch so wieder zurückzubekommen?
Habe schon gegoogelt und gesehen, dass man mit
PHP:
date('I', $timestamp)
Bei dem Wert "0" wäre die Zeit also korrekt (z.B. im Juli), bei "1" hätte ich das Problem der "falschen" Stunde. Aber wie mache ich mir das jetzt genau zu Nutze oder gibt es ne Alternative zu date, wo ich mir um diese Geschichten keine Gedanken machen muss?
Vielen Dank im Voraus