Salve ragazzi, avrei la necessità di recuperare da una data di questo genere:
aaaa-mm-gg , il numero del giorno nell'anno(da 0 a 365) è possibile farlo?codice:date("Y-m-d"); //recuperare la data di tipo date("z");
Salve ragazzi, avrei la necessità di recuperare da una data di questo genere:
aaaa-mm-gg , il numero del giorno nell'anno(da 0 a 365) è possibile farlo?codice:date("Y-m-d"); //recuperare la data di tipo date("z");
beh, puoi ritrasformare (tramite php) la tua data in timestamp
dopodichè usi l'opzione Z di date (fornendo come timestamp quello ritrasformato poco prima)
http://php.net/manual/en/function.date.php
Si avevo visto, infatti sono riuscito a recuperare il numero dei giorni cioè facendo cosi:
il problema sorge quando voglio recuperare il contrario ovvero da un z (conoscendo l'anno) recuperare Y-m-dcodice:$datagre=date("z", strtotime(date("Y-m-d")));
il sito php.net con le funzioni da te usate non mette a disposizione niente, forse altre funzioni sul sito ufficiale oppure cercando in rete si trova qualcosa.![]()
ho visto , però non ho trovato niente
Prova così:
Codice PHP:
$year = 2011; // Anno
$yearDay = 33; // Numero del giorno dell'anno
echo date("Y-m-d", mktime(0, 0, 0, 1, $yearDay, $year));
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)
ci siamo quasi:
mi restituisce 2011-10-24(mentre deve essere 2011-10-25)codice:echo date("Y-m-d", mktime(0, 0, 0, 1, 297, 2011));
mentre io avevo provato prima
mi restituisce 2011-09-17(mentre deve essere 2011-10-25)codice:echo date("Y-m-d", mktime(0, 0, 0, 0, 297, 2011));
quindi ho provato a fare la prova contraria avvero :
mi restituisce 297 , quindi non capiscocodice:echo date("z", mktime(0, 0, 0, 10, 25, 11));
Così, con lo 0 invece dell'1 l'avevo provato anche io, ma sembra partire da dicembre dell'anno precedente invece che dal 1 gennaio dell'anno passato come parametro.Codice PHP:
echo date("Y-m-d", mktime(0, 0, 0, 0, 291, 2011));
P.S.
Il risultato è corretto, la data corrispondente al 291esimo giorno del 2011 è: 2011-10-18
Il codice:
funziona.Codice PHP:
echo date("Y-m-d", mktime(0, 0, 0, 1, 291, 2011));
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)
Il codice:
è corretto. il date("z") restituisce 290 in quanto la numerazione parte da 0.Codice PHP:
<?php
$year = 2011; // Anno
$yearDay = 291; // Numero del giorno dell'anno
echo date("Y-m-d", mktime(0, 0, 0, 1, $yearDay, $year));
echo "
";
echo date("z", mktime(0, 0, 0, 10, 18, 2011));
?>
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)
quindi lo incremento di 1 giusto?