La hora no se convierte correctamente en el servidor, estoy convirtiendo la marca de tiempo, en el host local funciona bien, pero en el servidor son las dos horas anteriores,

$ToConvert = 1570080669;
$dt = new DateTime();
$dt->setTimestamp($ToConvert); 
$EndTime = $dt->format('m/d/Y H:i');
echo $EndTime;

En el host local:

03/10/2019 07:31

En el servidor:

03/10/2019 05:31

¿Cuál podría ser el problema?

0
Mazen Amir 5 oct. 2019 a las 04:48

1 respuesta

La mejor respuesta

La clase DateTime en PHP tiene un método llamado "setTimezone" que espera una instancia de DatetimeZone como argumento. Usando su código como ejemplo, solo necesita agregar una línea adicional de la siguiente manera:

$ToConvert = 1570080669;
$dt = new DateTime();
$dt->setTimestamp($ToConvert); 
$dt->setTimezone(new DatetimeZone('Europe/London'));
$EndTime = $dt->format('m/d/Y H:i');
echo $EndTime;

Puede cambiar el argumento al crear instancias de una nueva zona horaria según lo desee para satisfacer sus necesidades.

Más información está en el sitio web php.net: https://www.php.net/manual/en/datetime.settimezone. php

1
blessing 8 ago. 2020 a las 21:00