Tengo una aplicación que utiliza Zend_Date para mostrar las fechas. Las instancias de Zend_Date se crean utilizando datos de fecha y hora de MySQL, la entrada del usuario y la fecha actual.Tratando con fechas y zonas horarias, con Zend_Date
Me gustaría que mis usuarios puedan especificar su zona horaria y que se muestren todas las fechas en su horario local.
Por el momento mi código funciona así:
$date = '2009-01-01 10:30:00';
$date = new Zend_Date($date, Zend_Date::ISO_8601);
echo $date->get(Zend_Date::TIME_MEDIUM); //10:30:00
$date->setTimezone('Australia/ACT');
echo $date->get(Zend_Date::TIME_MEDIUM); //21:30:00
Esto funciona, pero requiere una llamada settimezone en cada fecha. ¿Hay una manera más fácil de administrar zonas horarias?
También he estado buscando usar SET time_zone con MySQL, para devolver datos ajustados de MySQL. Entonces solo necesitaría ajustar las fechas creadas dentro de los scripts PHP para las zonas horarias.
Me encantaría saber la mejor manera de manejar esto, si alguien tiene experiencia.
Gracias
Gracias. Parece que la mejor manera es que configure UTC como valor predeterminado, trabaje con UTC datetime internamente y use setTimezone para producir horas locales específicas de zona horaria. –