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
)

Post correlati

Leave a Comment

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

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi