Estoy convirtiendo fechas y horas en marcas de tiempo utilizando PHP antes de que se inserten en mi base de datos MySQL.PHP strtotime() ¿funciona mal por 1 hora?
Mi problema es que cuando uso la función strtotime de PHP, la marca de tiempo de salida es de -1 hora detrás de mi tiempo real.
Por ejemplo, teniendo en cuenta la fecha de hoy: 21/07/2010. Cuando uso el código php como:
<?php
$my_timestamp = strtotime("07/21/2010");
echo $my_timestamp;
?>
La marca de tiempo devuelta es el equivalente de GMT MENOS 1 hora. es decir, vuelvo: 20 de julio de 2010, 23:00:00 GMT en lugar de 21 de julio de 2010, 00:00:00 GMT.
Vivo en el Reino Unido, así que mi zona horaria es GMT. He declarado mi zona horaria en el script usando date_default_timezone_set ('Europe/London') y también me he asegurado de que el archivo php.ini esté configurado en 'Europa/Londres'.
¿Tiene esto algo que ver con el horario de verano, tal vez? ¿Cómo puedo solucionar el problema sin agregar 1 hora a todas mis fechas?
Si solo necesita agregar 1 hora a las fechas, agregue 3600 a la marca de tiempo (3600 segundos = 1 hora) – NullUserException
Su zona horaria no es GMT, Reino Unido está en verano ahora que es GMT +1 – nos
@nos ¿Por qué no? agregue eso como una respuesta, creo que es la correcta. –