Occhio che non funziona per giorni arbitrari, ma e' limitato ai giorni rappresentabili tramite un unix timestamp. Questo timestamp oltretutto ha un range di valori differenti sotto windows e sotto unix. Sotto windows, non sono rappresentabili giorni < 1 gennaio 1970, mentre sotto unix penso siano < 1 gennaio 1900. NOn sono inoltre rappresentabili i giorni > un certo giorno del 2038 che non ricordo.
Per ovviare il problema ti consiglio questa funzione:
codice:/* Calcola il giorno della settimana utilizzando l'argoritmo della congruenza di Zeller. Fonte: http://www.lysator.liu.se/faq/c-faq/c-17.html#17-28 */ function weekday($year, $month, $day) { // Algoritmo: (day + y + y/4 - y/100 + y/400 + 31m/12 ) mod 7 // Le divisioni sono divisioni fra interi $a = floor((14 - $month) / 12); $y = $year - $a; $m = $month + 12 * $a - 2; $d = $day; $weekday = ($d + $y + floor($y/4) - floor($y/100) + floor($y/400) + floor((31 * $m) / 12)) % 7; return $weekday; }

Rispondi quotando