Wie der Titel sagt, kann jemand erklären, warum der Code
%Vor%funktioniert aber
%Vor%nicht?
Ich suchte nach einer Lösung, um einen Zeitstempel zu konvertieren, und alles, was ich im Internet finden konnte, war date_default_timezone_set
. Aber die Umwandlung hatte immer 1 Stunde Unterschied.
Dann habe ich dieses Thema gefunden " strftime()
Funktion zeigt eine falsche Zeit an "Das benutzt den init_set-Code (und danach habe ich RTM und habe herausgefunden, dass es bereits in der Dokumentation erwähnt ist). Ich habe es versucht und es hat funktioniert.
Aber ich habe keine Antwort gefunden, warum date_default_timezone_set
nicht funktioniert.
Kann jemand bitte erklären?
Sie müssen eine alte Version von PHP verwenden.
%Vor% Probieren Sie php -v
und überprüfen Sie Ihre PHP-Version.
Es ist ziemlich spät, ich habe das gleiche Problem und ich sehe da ist der Unterschied, ich poste den Screenshot von meinem localhost und meinem persönlichen Server phpinfo für die Zeitzone.
Auf meinem lokalen Host funktioniert date_default_timezone_set ('[timezone]') korrekt, auf dem Server wird jedoch immer die UTC zurückgegeben. Basierend auf dem php doc, sieht es so aus, als ob die Zeitzone nicht in den php ini meines Servers gesetzt ist, also habe ich wahrscheinlich die Zeitzone ignoriert, da vorher kein Wert definiert wurde.
Mit dem init_set wird die Zeitzone verfügbar gemacht. Ich denke, die Zeitzone ist nicht auf dem PHP ini vordefiniert ist die Ursache.