Ho un timestamp unix impostato a +5, ma mi piacerebbe convertirlo in -5, ora standard EST. Vorrei solo far generare il timestamp in quel fuso orario, ma lo sto prendendo da un'altra fonte che lo sta mettendo a +5.Converti timestamp Unix in fuso orario?
attuale non modificato timestamp che si trasforma in Data
<? echo gmdate("F j, Y, g:i a", 1369490592) ?>
ha funzionato perfettamente. Grazie =) –
Correggimi se sbaglio @John Sicuramente questo non funziona? Questo metodo utilizza il timezone predefinito di sistemi (PHP Config) che non lo ha specificato durante la creazione dell'istanza dell'oggetto DateTime. Mi piace [qui] (http://stackoverflow.com/a/17098897/234631). Quindi, quando si converte in America/Chicago, sarebbe alterato rispetto al fuso orario del sistema assumendo che non sia lo stesso di +5 come il timestamp UNIX stesso che sta cercando di alterare di ~ 10 zone? –
@Stefan Questo è davvero sbagliato. I timestamp Unix sono sempre UTC. Alcuni esempi divertenti di codice: ini_set ('date.timezone', 'America/Los_Angeles'); $ now = time(); $ utc = new DateTime ("@ {$ now}", nuovo DateTimeZone ('America/New_York')); echo "{$ utc-> format ('c')} \ n"; // 2014-08-27T15: 24: 09 + 00: 00 $ utc = new DateTime ("@ {$ now}"); echo "{$ utc-> format ('c')} \ n"; // 2014-08-27T15: 24: 09 + 00: 00 ini_set ('date.timezone', 'UTC'); $ utc = new DateTime ("@ {$ now}", nuovo DateTimeZone ('UTC')); echo "{$ utc-> format ('c')} \ n"; // 2014-08-27T15: 24: 09 + 00: 00 –