Uso de la clase PHP DateInterval

Uso de la clase PHP DateInterval

Php dateInterval Class calcula la diferencia entre dos objetos de fecha/hora. A veces, requiere encontrar la diferencia entre dos días, meses, años, horas, minutos y segundos para fines de programación. El objeto de esta clase almacena la cantidad de tiempo fija que se puede leer utilizando la función Format () utilizando diferentes parámetros de formato. En este tutorial se muestran diferentes usos de la clase DateInterval en PHP.

Diferentes parámetros de formato de la función Format ()

Los propósitos de diferentes caracteres de formato utilizados en la función de formato () se han descrito en esta parte del tutorial.

Formato de personaje Objetivo
%d Imprime el día de la fecha sin liderar cero

Ejemplo: 1, 2, 30, etc.

%D Imprime el día de la fecha con un cero líder

Ejemplo: 2, 05, 30, etc.

%metro Imprime el número de mes de la fecha sin un cero líder

Ejemplo: 1, 6, 12, etc.

%METRO Imprime el número de mes de la fecha con un cero líder

Ejemplo: 01, 06, 12, etc.

%Y Imprime el año de 2 dígitos

Ejemplo: 21, 22, 23, etc.

%Y Imprime el año de 4 dígitos

Ejemplo: 2021, 2022, 2023, etc.

%H Imprime la hora sin liderar cero

Ejemplo: 1, 5, 11, etc.

%H Imprime la hora con cero líder

Ejemplo: 01, 05, 11, etc.

%i Imprime el minuto sin liderar cero

Ejemplo: 1, 9, 59, etc.

%I Imprime el minuto con cero líder

Ejemplo: 01, 05, 25, etc.

%s Imprime el segundo sin liderar cero

Ejemplo: 1, 9, 59, etc.

%S Imprime el segundo con cero líder

Ejemplo: 01, 09, 59, etc.

%F Imprime el microsegundo sin liderar cero

Ejemplo: 7845, 562312, 235634, etc.

%F Imprime el microsegundo con 6 dígitos y liderando cero

Ejemplo: 007845, 062312, 235634, etc.

Los usos de diferentes métodos de clase DateInterval se discuten en la siguiente parte de este tutorial.

Ejemplo 1: Uso de la clase DateInterval para el día, el mes y el año

Cree un archivo PHP con el siguiente script que muestra el uso de la definición de diferentes valores de intervalo utilizando la clase DateInterval. El intervalo debe comenzar con el personaje, 'P'. El personaje 'Y' se usa para el intervalo de año, 'M' se usa para el intervalo de mes y 'D' se usa para el intervalo de día. En el script, la primera clase de Interval de fechas establecerá intervalos de 10 días, la segunda clase de Interval de fecha establecerá intervalos de 5 meses y 10 días, y la tercera clase de Interval se establecerá 2 años, 5 meses y 10 días de intervalos.

// Establecer intervalo en días
$ IVIL = nuevo DateInterval ('P10D');
// Imprimir el valor del intervalo
Echo "El intervalo es", $ ival-> format ('%d días.')."
";
// Establecer intervalo en meses y días
$ IVIL = nuevo DateInterval ('P5M10D');
// imprime el valor del intervalo en meses y días
Echo "El intervalo es", $ ival-> formato (' %m meses y %d días.'), "
";
// Establecer intervalo en años, meses y días
$ iVal = nuevo DateInterval ('P2Y5M10D');
// imprime el valor del intervalo en años, meses y días con ceros principales
Echo "El intervalo es", $ ival-> formato (' %y años, %m meses y %d días.'), "
";
// Imprima el valor del intervalo en años, meses y días sin ceros de liderazgo
Echo "El intervalo es", $ ival-> formato (' %y años, %m meses y %d días.'), "
";
?>


La siguiente salida aparecerá después de ejecutar el script anterior:

Ejemplo 2: Uso de la clase DateInterval con la función date_interval_format ()

La función date_interval_format () imprime el valor de intervalo de fecha con la cadena de formato. Esta función toma el objeto de intervalo en el primer argumento y la cadena de formato en el segundo argumento. Cree un archivo PHP con el siguiente script donde se ha mostrado el uso de la función date_interval_format ():

// Establecer el intervalo en años, meses y días
$ IVIL = nuevo DateInterval ('P10Y6M15D');
// Establecer el formato para días
$ format = "%d";
// imprime el valor del intervalo en días
Echo "El intervalo es".date_interval_format ($ iver, $ formato)." días.
";
// Establecer el formato durante días y meses
$ format = " %m meses y %días.";
// imprime el valor del intervalo en meses y días
Echo "El intervalo es".date_interval_format ($ iver, $ formato)."
";
// Establecer el formato para días
$ format = " %y años, %m meses y %días.";
// imprime el valor del intervalo en años, meses y días
Echo "El intervalo es".date_interval_format ($ iver, $ formato)."
";
?>


La siguiente salida aparecerá después de ejecutar el script anterior:

Ejemplo 3: Uso de la clase DateInterval para la hora, el minuto y el segundo

El personaje 'T' se usa después del personaje 'P' para establecer el intervalo en el tiempo. Cree un archivo PHP con el siguiente script donde se establece el intervalo de tiempo utilizando la clase DateInterval:

// establecer el intervalo en segundos
$ IVIL = nuevo DateInterval ('PT30S');
// Establecer el formato
$ format = "%s segundos.";
// imprime el valor de intervalo en segundos
Echo "El intervalo es". date_interval_format ($ iver, $ formato). "
";
// establecer el intervalo en segundos
$ iVal = nuevo DateInterval ('PT15M30S');
// Establecer el formato
$ format = " %i minutos y %s segundos.";
// imprime el valor del intervalo en minutos y segundos
Echo "El intervalo es". date_interval_format ($ iver, $ formato). "
";
// establecer el intervalo en segundos
$ iVal = nuevo DateInterval ('PT5H15M30S');
// Establecer el formato
$ format = " %h horas, %i minutos y %s segundos.";
// imprime el valor del intervalo en horas, minutos y segundos
Echo "El intervalo es". date_interval_format ($ iver, $ formato). "
";
?>


La siguiente salida aparecerá después de ejecutar el script anterior:

Ejemplo 4: Uso de la clase DateInterval con la función createFromDateString ()

La función createFromDateString () se usa para establecer el intervalo de fecha y hora de diferentes maneras. Cree un archivo PHP con el siguiente script donde el intervalo de fecha y hora se ha establecido de varias maneras utilizando la función CreateFromDateString ():

// Establecer intervalo en días
$ IVIL = DateInterval :: CreateFromDateString ('20 días ');
echo "El intervalo es", $ ival-> formato ('%d días') ",
";
// establecer el intervalo en semanas
$ IVIL = dateInterval :: CrearFromDateString ('4 semanas');
echo "El intervalo es", $ ival-> formato ('%d días') ",
";
// Establecer intervalo en meses
$ IVIL = dateInterval :: CREATFROMDATETRING ('3 meses');
echo "El intervalo es", $ ival-> format ('%m meses') ",
";
// Establecer intervalo en años y días
$ IVIL = DateInterval :: CreateFromDateString ('5 años + 15 días');
echo "El intervalo es", $ ival-> formato (' %y años %d días') ",
";
// Establecer intervalo en semanas, días, horas y minutos por suma
$ iVal = dateInterval :: createFromDateString ('2 semanas + 15 días + 24 horas + 60 minutos');
echo "El intervalo es", $ ival-> formato (' %d días, %h horas y %i minutos') ","
";
// Establecer intervalo en días por sustracción
$ IVIL = DateInterval :: CreateFromDateString ('30 días - 15 días ');
echo "El intervalo es", $ ival-> formato ('%d días') ",
";
?>


La siguiente salida aparecerá después de ejecutar el script anterior:

Conclusión

Las diferentes formas de establecer el intervalo de fecha y hora utilizando el valor de la cadena al momento de crear el objeto de la clase DateInterval o usar CreateFromDateString () se han mostrado en este tutorial. Se discutieron los usos de la clase DateInterval para que los nuevos usuarios de PHP lo entiendan mejor.