cómo obtener la fecha y hora correcta con el parámetro is_dst en PHP?
Pregunta
Estamos creando una marca de tiempo UNIX con el método de entrega mktime siguientes atributos:
print_r(mktime(0,0,0,3,1,2009));
print_r(mktime(null,null,null,3,1,2009) / 60 / 60 / 24) . "days");`
esto crea un resultado de
1235862000
14303.958333333 days
esto debería ser 14304 días. El problema en este caso es la hora de invierno. Puede utilizar el parámetro is_dst, y cuando usamos 0 (por defecto -1) a veces esto funciona correctamente dando 14304 días como resultado.
Sin embargo, a veces esto da siguiente problema:
estrictos estándares: mktime () [function.mktime]: El parámetro is_dst está en desuso
No tengo ni idea de lo que significa y lo que puedo hacer al respecto. Cualquier idea de alguien? porque la hora de invierno está causando dolor de cabeza horrible ....
Solución
gmmktime .
Otros consejos
date("I", time());
le dará 1 si su horario de verano y 0 si no lo es.
Desde la página de manual de php:
"Cada llamada a una función de fecha / hora generará un E_NOTICE si la zona horaria no es válida, y / o un mensaje E_STRICT si se utiliza la configuración del sistema o la variable de entorno TZ Ver también date_default_timezone_set () "
que probablemente significa que puedes usar date_default_timezone_set () omitir previamente y el parámetro is_dst