Il Php non mette a disposizione una funzione che consente di ricavare da una data il giorno della settimana della data stessa.
Però utilizzando le due funzione mktime() e getdate() possiamo ottenere il risultato desiderato.
La funzione Php mktime può() gestire fino a 6 parametri tutti opzionali che sono interi che rappresentano rispettivamente ore, minuti, secondi, mese, giorno, anno.
Questa funzione restituisce un numero intero che rappresenta in secondi passati dalle 0:00:00 del primo gennaio 1970, questo numero che è univoco per ogni data/ora è detto Unix timestamp.
Ecco un esempio di utilizzo:
echo mktime(0, 0, 0, 7, 1, 2000);
//stampa l'unix timestamp del 1 luglio del 2000
//fare attenzione non è 7 gennaio!
Una piccola precisazione per ottenere il timestamp dell’ora attuale non si usa mktime() senza paramentri ma si usa la funzione time()
A questo punto possiamo utilizzare la funzione getdate(), questa funzione prende come parametro un numero che rappresenta un timestamp e restituisce un array associativo contentente informazioni riguardanti la data rappresentata dal timestamp.
Per una panoramica completa di questa funzione possiamo fare rifermento alla pagina della funzione sul manuale del php.
Quello che a noi interessa è la cella dell’array con indice wday. In questo indice è contenuto un numero da 0 a 6, il numero è 0 se il giorno del timestamp è domenica e 6 se è sabato.
Ora abbiamo tutti i pezzi per costruire la nostra funzione giornoData():
function giornoData($g,$m,$a){
$gShort = array('Dom','Lun','Mart','Merc','Giov','Ven','Sab');
$ts = mktime(0,0,0,$m,$g,$a);
$gd = getdate($ts);
echo $gShort[$gd['wday']];
}
Questa funzione stampa il giorno, possiamo cambiarla in modo che ritorni il giorno o l’indice:
function giornoData($g,$m,$a){
$gShort = array('Dom','Lun','Mart','Merc','Giov','Ven','Sab');
$ts = mktime(0,0,0,$m,$g,$a);
$gd = getdate($ts);
return $gShort[$gd['wday']];
// return $gd['wday']; ritorna l'indice del giorno compreso tra 0 e 6
}
Start
PHP: Scopri i segreti per imparare a programmare il linguaggio web-side.
- Guida completa per iniziare a porgrammare in PHP
- Numerosi esempi di codice ed di esercizi
- 109 pagine in italiano
Medio
PHP 8: Tecniche & Esempi per padeoneggiare il linguaggio.
- un libro sviluppato per permetterti di entrare nel mondo del lavoro come sviluppatore web
- 312 pagine in italiano
MySql
Impara a programmare in PHP e ad usare il più diffuso DMBS
- PHP & MySQL
- sviluppa applicazioni web lato server
- inizia a creare pagine e siti web dinamici
- 672 pagine in italiano