18lug/080
Calcolare l’ennesimo giorno della settimana in un mese
Questo articolo è stato pubblicato 3 anni 6 mesi 19 giorni giorni fa quindi alcuni contenuti o informazioni presenti in esso potrebbero non essere più validi. Questo sito non è responsabile per eventuali errori causati da questo problema.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
)