Penso di essere pienamente consapevole della ISO 8601 e che la prima settimana di un anno è la settimana in cui è presente un lunedì. Tuttavia mi sono imbattuto in uno strano comportamento in PHP (5.6) DateTime Class.Settimana mancante in DateTime di PHP-> modifica ('prossima settimana')
Ecco il mio codice:
$start = new DateTime('2009-01-01 00:00');
$end = new DateTime();
$point = $start;
while($point <= $end){
echo $point->format('YW');
$point = $point->modify('next week');
}
Questo mette fuori correttamente
200901
200902
200903
...
Ma se prendo come una data di inizio qualcosa prima nel 2008 come $start = new DateTime('2008-01-01 00:00');
tanto sono un risultato diverso:
...
200852
200801 // <=== 2008??
200902
200903
...
Si tratta di un bug PHP o mi manca qualcosa qui?
proprio perché la prima settimana del 2009, prova 'echo $ punto-> formato ('YW')." -> ". $ punto-> formato ('Y-m-d'); 'spero che capirai la cosa –