hora from convertir con php date timezone

from - PHP DateTime DST



strtotime formats php (1)

Busqué el manual de PHP y StackOverflow también, pero realmente no he encontrado una respuesta adecuada a mi pregunta. Mis fechas están almacenadas en UTC. Ahora si lo hago:

$date = new DateTime(''2012-03-16 14:00:00'', ''UTC''); $date->setTimezone(''Europe/Budapest'');

¿DateTime :: setTimezone () configurará DST automáticamente? Entonces, si formateo la cadena, ¿dará salida a las 15:00:00 en horario de verano y a las 16:00:00 en invierno? ¿O tendré que configurar el horario de verano manualmente?

Pregunta relacionada, si quiero obtener una hora UTC independiente de DST (que pueda almacenar), ¿funcionará lo siguiente?

$date = new DateTime(''now'', ''UTC''); $date->format(''Y-m-d H:i:s'');

O mejor usar simple gmdate(''Ymd H:i:s'') ?


Tu suposición es correcta.

Además, esto te habría llevado 10 segundos verificarlo.

Editar:

La sintaxis correcta es:

$date = new DateTime(''2012-03-16 14:00:00'', new DateTimeZone(''UTC''));

En cuanto a tu segunda pregunta. La zona horaria pasada en el constructor DateTime es la zona horaria ''de referencia''.

Aún debe llamar a -> setTimeZone (new DateTimeZone (''UTC'')) para formatearlo en la zona horaria UTC, a menos que la zona horaria predeterminada también esté configurada en UTC (date_default_timezone_set).

La próxima vez, intenta un poco más difícil de probar antes de preguntar.