it-swarm.com.de

Standard-Zeitzone als UTC fest codiert?

Beim Debuggen eines Plugins, das ich geschrieben habe, ist mir aufgefallen, dass in Zeile 36 von wp-settings.php die Standard-Zeitzone mit einem Aufruf der Funktion date_default_set_timezone () in UTC fest codiert ist. Dies bedeutet, dass jeder Aufruf der Datums-/Zeitfunktionen von PHP mit UTC als Ortszeit funktioniert.

Kann mir bitte jemand erklären, warum dies eine vernünftige Designentscheidung des Wordpress-Teams ist? Ich verstehe, wenn sie Zeiten intern als UTC speichern und bearbeiten möchten, aber wäre es nicht eine bessere Alternative, explizit in einen "UTC-Modus" zu wechseln, wenn sie eine solche Logik ausführen müssen?

Vorausgesetzt, Sie wissen, wie die Zeitzone Ihrer Server-php.ini eingestellt ist, macht diese fest codierte UTC die Beschreibung der date () -Funktion von php.net im Grunde genommen ungültig :

datum - Formatieren Sie eine lokale Uhrzeit/Datum

Was finde ich schlecht, nein?

6
Gregarious

Irgendwie habe ich die Funktion current_time verpasst, die eine gute Beschreibung der Situation liefert und zeigt, wie man richtig mit der Notwendigkeit umgeht, die aktuelle blog-lokale Zeit zu ermitteln.

http://codex.wordpress.org/Function_Reference/current_time

Obwohl der Purist in mir immer noch hasst, wie WP die Zeitzoneneinstellung in der php.ini überflüssig macht, ohne Ihnen eine Wahl zu geben. * murren murren *

7
Gregarious

WordPress ist kein einfaches Skript, sondern eine umfangreiche Web-App. Es enthält eigene Zeitzoneneinstellungen und eigene Funktionen für die Ausgabe lokalisierter Datums-/Zeitinformationen.

Ich nehme an, es ist viel einfacher, die Basiszeitzone festzulegen und darauf zuzugreifen, als zu versuchen, sie um alle damit verbundenen Funktionen herum hin und her zu ändern.

2
Rarst