del entorno de servidorPHP UTC a la hora local
RedHat Enterprise Linux
PHP 5.3.5
Problema
Digamos que tengo una fecha y hora UTC como 2011-04 -27 02:45 y quiero convertirlo a mi hora local, que es America/New_York.
Tres preguntas:
1.) Mi código de abajo podría resolver el problema, ¿está de acuerdo?
<?php
date_default_timezone_set('America/New_York'); // Set timezone.
$utc_ts = strtotime("2011-04-27 02:45"); // UTC Unix timestamp.
// Timezone offset in seconds. The offset for timezones west of UTC is always negative,
// and for those east of UTC is always positive.
$offset = date("Z");
$local_ts = $utc_ts + $offset; // Local Unix timestamp. Add because $offset is negative.
$local_time = date("Y-m-d g:i A", $local_ts); // Local time as yyyy-mm-dd h:m am/pm.
echo $local_time; // 2011-04-26 10:45 PM
?>
2.) Pero, ¿el valor de $ offset se ajusta automáticamente para el horario de verano (DST)?
3.) Si no es así, ¿cómo debo ajustar mi código para ajustar automáticamente el horario de verano?
Gracias :-)
¿Lo intentó? – wallyk
'date (" Z ")' siempre devuelve la zona horaria 'GMT + 0000', que no tiene corrección para el horario de verano. –