Calcolare l’ennesimo giorno della settimana in un mese

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
)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Applicazioni

%d blogger hanno fatto clic su Mi Piace per questo: