J'ai un horodatage unix réglé sur +5, mais je voudrais le convertir en -5, EST Standard time. Je voudrais juste que l'horodatage soit généré dans ce fuseau horaire, mais je le saisis d'une autre source qui le met à +5.Convertir un horodatage Unix en fuseau horaire?
actuel non modifié Timestamp être converti en une date
<? echo gmdate("F j, Y, g:i a", 1369490592) ?>
travaillé parfait. Merci =) –
Corrigez-moi si je me trompe @John Sûrement cela ne fonctionne pas? Cette méthode utiliserait le fuseau horaire par défaut du système (PHP Config) ne l'ayant pas spécifié lors de la création de l'instance de l'objet DateTime. Comme [ici] (http://stackoverflow.com/a/17098897/234631). Donc, lors de la conversion en Amérique/Chicago, il serait modifié par rapport au fuseau horaire du système en supposant que ce n'est pas le même que +5 comme l'horodatage UNIX lui-même qu'il essaie de modifier de ~ 10 zones? –
@Stefan C'est en effet faux. Les horodatages Unix sont toujours UTC. Quelques exemples de code amusant: ini_set ('date.timezone', 'America/Los_Angeles'); $ maintenant = heure(); $ utc = new DateTime ("@ {$ now}", nouvelle 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}", nouvelle DateTimeZone ('UTC')); echo "{$ utc-> format ('c')} \ n"; // 2014-08-27T15: 24: 09 + 00: 00 –