Ich habe einen Unix-Timestamp, der auf +5 gesetzt ist, aber ich möchte es in -5, EST Standardzeit konvertieren. Ich würde einfach den Zeitstempel in dieser Zeitzone erzeugen lassen, aber ich nehme ihn von einer anderen Quelle, die es auf +5 setzt.Unix Timestamp in Zeitzone konvertieren?
Aktuelle Unveränderte Zeitstempel, der in einem Datum
<? echo gmdate("F j, Y, g:i a", 1369490592) ?>
perfekt gearbeitet. Danke =) –
Korrigiere mich, wenn ich falsch liege @John Sicherlich funktioniert das nicht? Diese Methode verwendet die Standardzeitzone des Systems (PHP Config), die sie beim Erstellen der Instanz des DateTime-Objekts nicht angegeben hat. Wie [hier] (http://stackoverflow.com/a/17098897/234631). Also, wenn man nach Amerika/Chicago umwandelt, würde es gegen die Systemzeitzone geändert werden, vorausgesetzt, es ist nicht dasselbe wie +5 wie der UNIX-Zeitstempel selbst, den er versucht, um ~ 10 Zonen zu ändern? –
@Stefan Das ist in der Tat falsch. Unix-Zeitstempel sind immer UTC. Einige lustige Codebeispiele: ini_set ('date.timezone', 'America/Los_Angeles'); $ now = time(); $ utc = neue DateTime ("@ {$ now}", neue DateTimeZone ('America/New_York')); echo "{$ utc-> format ('c')} \ n"; // 2014-08-27T15: 24: 09 + 00: 00 $ utc = neue DateTime ("@ {$ now}"); echo "{$ utc-> format ('c')} \ n"; // 2014-08-27T15: 24: 09 + 00: 00 ini_set ('date.timezone', 'UTC'); $ utc = neue DateTime ("@ {$ now}", neue DateTimeZone ('UTC')); echo "{$ utc-> format ('c')} \ n"; // 2014-08-27T15: 24: 09 + 00: 00 –