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 ....

¿Fue útil?

Solución

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top