php date_default_timezone_set nicht arbeiten, aber ini_set 'Datum.timezone' tut. Warum?

Wie der Titel sagt, kann jemand erklären, warum der code

ini_set( 'date.timezone', 'Europe/Athens' );

funktioniert, aber

date_default_timezone_set( 'Europe/Athens' );

nicht?

Ich war auf der Suche für eine Lösung zur Umwandlung eines timestamp und alles, was ich im Netz finden konnte, war der Einsatz von date_default_timezone_set. Aber die Umstellung hatte immer 1 Stunde Unterschied.

Dann fand ich dieses Thema "strftime() - Funktion zeigt falsche Zeit", die mit den init_set code (und danach habe ich RTM und fand heraus, dass es bereits in der Dokumentation erwähnt). Ich versuchte es und es funktionierte.

Aber ich habe keine Antwort gefunden, warum date_default_timezone_set funktioniert nicht.

Kann jemand bitte erklären?

  • sind timastamps nicht UTC und Athen wäre +1? vielleicht versuchen, Europe/Dublin
  • Bitte teilen Sie den vollständigen code..
  • Funktionierenden code pastebin.com/EQx9jeGm
  • Nicht funktionierende code pastebin.com/c9HpwTF5
  • sorry, aber ich verstehe nicht, Ihren Kommentar
  • Haben Sie Fehler, Warnungen und Hinweise eingeschaltet? Gibt es eine chance, das Fehler log wird Ihnen sagen, ein bisschen mehr. Auch, was ist der Wert von $item->pubDate? Außerdem, in deinem nicht funktionierenden code, ich habe nicht bemerkt, einen Anruf zu date_default_timezone_set()... wo wird das aufgerufen?
  • Es klingt wie Sie nur wollen, zu konvertieren von UTC in einer bestimmten Zeit-zone, die in dieser Antwort. Lassen Sie "Standard" aus, wenn Sie können.
  • Ich würde übereinstimmen mit Matt Johnson. Ich möchte vermeiden, ändern Sie die Standard-Zeitzone, es sei denn, Sie sind tatsächlich die Korrektur für etwas (dh, Sie wollen, dass Ihr script [in Australien], um ausführen in Ihrer lokalen Zeitzone [sagen, Athen]). Wenn alles, was Sie wollen zu tun ist, konvertieren ein Zeitstempel, gibt es andere Möglichkeiten.
  • welche server-software benutzt du? OS?

Schreibe einen Kommentar