Utilizzo della classe PHP DateInterval

Utilizzo della classe PHP DateInterval

La classe PHP DateInterval calcola la differenza tra due oggetti Date/Time. A volte, richiede la differenza tra due giorni, mesi, anni, ore, minuti e secondi a fini di programmazione. L'oggetto di questa classe memorizza la quantità fissa di tempo che può essere letta utilizzando la funzione formato () utilizzando parametri di formato diversi. In questo tutorial sono mostrati diversi usi della classe DateInterval in PHP.

Diversi parametri di formato della funzione format ()

Gli scopi di diversi caratteri di formato utilizzati nella funzione Formato () sono stati descritti in questa parte del tutorial.

Carattere di formato Scopo
%D Stampa il giorno della data senza guidare zero

Esempio: 1, 2, 30, ecc.

%D Stampa il giorno della data con uno zero leader

Esempio: 2, 05, 30, ecc.

%M Stampa il numero del mese della data senza uno zero leader

Esempio: 1, 6, 12, ecc.

%M Stampa il numero del mese della data con uno zero leader

Esempio: 01, 06, 12, ecc.

%y Stampa l'anno a 2 cifre

Esempio: 21, 22, 23, ecc.

%Y Stampa l'anno a 4 cifre

Esempio: 2021, 2022, 2023, ecc.

%H Stampa l'ora senza guidare zero

Esempio: 1, 5, 11, ecc.

%H Stampa l'ora con lo zero conducente

Esempio: 01, 05, 11, ecc.

%io Stampa il minuto senza guidare zero

Esempio: 1, 9, 59, ecc.

%IO Stampa il minuto con lo zero conducente

Esempio: 01, 05, 25, ecc.

%S Stampa il secondo senza guidare zero

Esempio: 1, 9, 59, ecc.

%S Stampa il secondo con lo zero conducente

Esempio: 01, 09, 59, ecc.

%F Stampa il microsecondo senza guidare zero

Esempio: 7845, 562312, 235634, ecc.

%F Stampa il microsecondo con 6 cifre e conducendo zero

Esempio: 007845, 062312, 235634, ecc.

Gli usi di diversi metodi di classe DateInterval sono discussi nella parte successiva di questo tutorial.

Esempio 1: utilizzo della classe DateInterval per il giorno, il mese e l'anno

Crea un file PHP con il seguente script che mostra l'uso della definizione di valori di intervallo diversi utilizzando la classe DateInterval. L'intervallo deve iniziare con il carattere, 'p'. Il carattere 'y' viene utilizzato per l'intervallo di anno, 'm' viene utilizzato per l'intervallo di mese e 'd' viene utilizzato per l'intervallo diurno. Nella sceneggiatura, la prima classe DateInterval imposterà intervalli di 10 giorni, la seconda classe DateInterval imposterà intervalli di 5 mesi e 10 giorni e la terza classe DateInterval imposterà intervalli di 2 anni, 5 mesi e 10 giorni.

// Imposta l'intervallo in giorni
$ ival = new DateInterval ('p10d');
// Stampa il valore dell'intervallo
Echo "L'intervallo è", $ ival-> formato ('%d giorni.')."
";
// Imposta l'intervallo in mesi e giorni
$ ival = new DateInterval ('p5m10d');
// Stampa il valore dell'intervallo in mesi e giorni
Echo "L'intervallo è", $ ival-> formato (' %m mesi e %d giorni.'), "
";
// imposta l'intervallo in anni, mesi e giorni
$ ival = new DateInterval ('p2y5m10d');
// Stampa il valore dell'intervallo in anni, mesi e giorni con zeri principali
Echo "L'intervallo è", $ ival-> formato (' %y anni, %m mesi e %d giorni.'), "
";
// Stampa il valore dell'intervallo in anni, mesi e giorni senza guidare zeri
Echo "L'intervallo è", $ ival-> formato (' %y anni, %m mesi e %d giorni.'), "
";
?>


Verrà visualizzato il seguente output dopo aver eseguito lo script precedente:

Esempio 2: utilizzo della classe DateInterval con funzione Date_Interval_Format ()

La funzione Date_Interval_Format () stampa il valore dell'intervallo della data con la stringa di formattazione. Questa funzione prende l'oggetto intervallo nel primo argomento e nella stringa di formato nel secondo argomento. Creare un file PHP con il seguente script in cui è stato mostrato l'uso della funzione Date_Interval_Format ():

// Imposta l'intervallo in anni, mesi e giorni
$ ival = new DateInterval ('p10y6m15d');
// Imposta il formato per giorni
$ format = "%d";
// Stampa il valore dell'intervallo in giorni
echo "L'intervallo è".date_interval_format ($ ival, $ formato)."Giorni.
";
// Imposta il formato per giorni e mesi
$ format = " %m mesi e %giorni.";
// Stampa il valore dell'intervallo in mesi e giorni
echo "L'intervallo è".date_interval_format ($ ival, $ formato)."
";
// Imposta il formato per giorni
$ format = " %y anni, %m mesi e %giorni.";
// Stampa il valore dell'intervallo in anni, mesi e giorni
echo "L'intervallo è".date_interval_format ($ ival, $ formato)."
";
?>


Verrà visualizzato il seguente output dopo aver eseguito lo script precedente:

Esempio 3: utilizzo della classe DateInterval per ora, minuto e secondo

Il carattere "t" viene usato dopo il carattere "p" per impostare l'intervallo in tempo. Crea un file PHP con il seguente script in cui l'intervallo di tempo è impostato utilizzando la classe DateInterval:

// Imposta l'intervallo in secondi
$ ival = new DateInterval ('pt30s');
// Imposta la formattazione
$ format = "%s secondi.";
// Stampa il valore dell'intervallo in secondi
echo "L'intervallo è". date_interval_format ($ ival, $ formato). "
";
// Imposta l'intervallo in secondi
$ ival = new DateInterval ('pt15m30s');
// Imposta la formattazione
$ format = " %i minuti e %s secondi.";
// Stampa il valore dell'intervallo in minuti e secondi
echo "L'intervallo è". date_interval_format ($ ival, $ formato). "
";
// Imposta l'intervallo in secondi
$ ival = new DateInterval ('pt5h15m30s');
// Imposta la formattazione
$ format = " %h ore, %i minuti e %s secondi.";
// Stampa il valore dell'intervallo in ore, minuti e secondi
echo "L'intervallo è". date_interval_format ($ ival, $ formato). "
";
?>


Verrà visualizzato il seguente output dopo aver eseguito lo script precedente:

Esempio 4: utilizzo della classe DateInterval con funzione CreateFromDateString ()

La funzione CreateFromDateString () viene utilizzata per impostare l'intervallo di data e tempo in diversi modi. Crea un file PHP con il seguente script in cui l'intervallo della data e del tempo è stato impostato in vari modi utilizzando la funzione CreateFromDateString ():

// Imposta l'intervallo in giorni
$ ival = datInterval :: createFromDateString ('20 giorni ');
Echo "L'intervallo è", $ ival-> formato ('%d giorni'), "
";
// Imposta l'intervallo in settimane
$ ival = datInterval :: createFromDateString ('4 settimane');
Echo "L'intervallo è", $ ival-> formato ('%d giorni'), "
";
// Imposta l'intervallo in mesi
$ ival = datInterval :: createFromDateString ('3 mesi');
echo "L'intervallo è", $ ival-> formato ('%m mesi'), "
";
// imposta l'intervallo in anni e giorni
$ ival = datInterval :: createFromDateString ('5 Year + 15 Days');
Echo "L'intervallo è", $ ival-> formato (' %y anni %d giorni'), "
";
// Imposta l'intervallo in settimane, giorni, ore e minuti per somma
$ ival = dateInterval :: createFromDateString ('2 settimane + 15 giorni + 24 ore + 60 minuti');
Echo "L'intervallo è", $ ival-> formato (' %d giorni, %h e %i minuti'), "
";
// Imposta l'intervallo in giorni per sottrazione
$ ival = DateInterval :: CreateFromDateString ('30 giorni - 15 giorni ');
Echo "L'intervallo è", $ ival-> formato ('%d giorni'), "
";
?>


Verrà visualizzato il seguente output dopo aver eseguito lo script precedente:

Conclusione

I diversi modi per impostare l'intervallo di data e tempo utilizzando il valore della stringa al momento della creazione dell'oggetto della classe DateInterval o usando CreateFromDateString () sono stati mostrati in questo tutorial. Gli usi della classe DateInterval sono stati discussi per i nuovi utenti PHP per capire meglio.