Domanda

Stiamo creando un timestamp Unix con il metodo mktime dono seguenti attributi:

print_r(mktime(0,0,0,3,1,2009));
print_r(mktime(null,null,null,3,1,2009) / 60 / 60 / 24) . "days");`

questo crea un risultato di

1235862000

14303.958333333 days

questo dovrebbe essere 14304 giorni. Il problema in questo caso è l'ora invernale. È possibile utilizzare il parametro is_dst, e quando usiamo 0 (default -1) questo a volte funziona correttamente dando 14304 giorni di conseguenza.

Ma a volte questo dà seguente problema:

  

rigidi standard: mktime () [function.mktime]: Il parametro is_dst è deprecato

non ho idea di che cosa significa e che cosa posso fare al riguardo. Qualsiasi idea di qualcuno? perché l'ora invernale sta causando terribili mal di testa ....

È stato utile?

Soluzione

Altri suggerimenti

date("I", time());

Vi darà 1 se le sue legale e 0 se non la sua.

Dalla pagina di manuale di php:

"Ogni chiamata a una funzione data / ora genererà un E_NOTICE se il fuso orario non è valido, e / o un messaggio E_STRICT se si utilizzano le impostazioni di sistema o la variabile d'ambiente TZ Vedi anche date_default_timezone_set () "

che probabilmente significa che si dovrebbe usare date_default_timezone_set () precedenza e saltare il parametro is_dst

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top