2012-03-31 16 views
7

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.¿Por qué mi strtotime ("hoy") no funciona?

Esto es todo lo que estoy haciendo:

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

Este es mi resultado:

1333144800 

que es: Vier 30 Mar 2012 22:00:00 GMT según la época del convertidor

+3

Parece que la zona horaria del servidor está configurada en GMT + 2, por lo que en realidad está obteniendo el resultado correcto. – Niko

+2

En serio, * la reacción de * nadie a cosas como esta debería ser "' strtotime' no funciona ". ¿Qué sigue, un error en 'strlen'? – Jon

Respuesta

15

Si desea que strtotime() devuelva 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'); 
+0

woww, está funcionando, –

+0

muchas gracias –

0

Debe verificar la configuración de la zona horaria en su archivo php.ini. En mi caso (yo vivo en El Salvador) que tenía que cambiar de esta manera:

date.timezone = America/El_Salvador 
0

Es posible que haya que establecer específicamente el tiempo, así como el día:

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

GMT (0) Tiempo de

echo $today = strtotime('today GMT'); 
echo "<br>" . $today = date("d-m-Y H:i:s", $today); 

Esperamos que su servidor se ejecuta en GMT - que es la mejor (para maniobrar con pantallas de tiempo más adelante). De lo contrario, DEBE ajustar php.ini para configurar este "date.timezone = GMT".

Cuando hayas terminado, verás 00:00 con mis códigos.

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

  • usted no está en la zona GMT
  • o/y si se desea para sus usuarios para ver los tiempos en su zona horaria con selección de zona horaria, por ejemplo.

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

Cuestiones relacionadas