Avevo bisogno di una funzione PHP che calcolasse il terzo venerdì per i prossimi mesi a venire. Così ho realizzato questa piccola funzione, che prende tre parametri: il numero di date desiderate, la posizione nel mese (primo, secondo, terzo o quarto), e il giorno della settimana (in inglese).
function n_esimoGiornoDelMese($quanteDate, $n_esimo, $giorno) { $UNIX_epoch = time(); while(count($date) < $quanteDate) { $UNIX_epoch += 86400; $dayOfMonth = date("d", $UNIX_epoch); //terzo giorno del mese if($dayOfMonth / 7 > $n_esimo - 1 and $dayOfMonth / 7 <= $n_esimo) { if(date("l", $UNIX_epoch) == $giorno) { $date[] = date("d/m/Y", $UNIX_epoch); } } } return($date); }
Esempio:
print_r(n_esimoGiornoDelMese(6, 3, 'Friday'));
Risultato:
Array ( [0] => 15/08/2008 [1] => 19/09/2008 [2] => 17/10/2008 [3] => 21/11/2008 [4] => 19/12/2008 [5] => 16/01/2009 )