¿Por qué mi strtotime (“hoy”) no funciona?

Estoy tratando de crear una lista de selección a partir de la fecha actual del usuario. Lo quiero para que esté configurado a medianoche en el formato de marca de tiempo de Unix.

Esto es todo lo que estoy haciendo:

$today = strtotime('today'); echo $today; 

Este es mi resultado:

 1333144800 

que es: vie, 30 mar 2012 22:00:00 GMT según Epoch Converter

Si desea que strtotime () regrese una marca de tiempo relativa a UTC (00:00:00 UTC en lugar de, por ejemplo, 00:00:00 UTC + 2, si su sistema está configurado en una zona horaria con un desplazamiento de 2 horas contra UTC / GMT ), debe especificar que:

 $today = strtotime('today UTC'); 

Hora GMT (+0)

 echo $today = strtotime('today GMT'); echo "
" . $today = date("dmY H:i:s", $today);

Esperamos que su servidor se ejecute en GMT, que es el mejor (para maniobras con pantallas horarias más adelante). De lo contrario, DEBE ajustar php.ini para configurar este “date.timezone = GMT”.

Cuando lo hagas, verás 00:00 con mis códigos.

Luego, debe desarrollar la función (es decir, DisplayDate ()) en su secuencia de comandos para mostrar las fechas de su sitio web correctamente si

  • no estás en el área GMT
  • y / o si desea que sus usuarios vean las horas en su zona horaria con la selección de la zona horaria, por ejemplo.

DisplayDate () debe incluir soporte para los cambios de luz diurna también (0, o +1 hora / verano e invierno).

 strtotime( $time ) 

está diseñado para devolver una marca de tiempo de Unix, lo que significa que devolverá la cantidad de segundos desde el 1 de enero de 1970. http://www.php.net/manual/en/function.strtotime.php

Para evitar esto, usa algo como:

 $today = date("d/m/YH:i:s", strtotime('today')); echo $today; 

Debe verificar la configuración de la zona horaria en su archivo php.ini. En mi caso (vivo en El Salvador) tuve que cambiarlo así:

 date.timezone = America/El_Salvador 

Es posible que deba establecer específicamente la hora y el día:

 $today_midnight = strtotime('today UTC 00:00');