(PHP 5 >= 5.3.0, PHP 7, PHP 8)
Representa un intervalo de fechas.
Un intervalo de fechas almacena o bien una cantidad fija de instantes (en años, meses, días, horas, etc.) o bien una cadena con un instante relativo en el formato que admiten los constructores de DateTimeImmutable y DateTime.
Más especificamente, la información en un objeto de la clase DateInterval es una instrucción para llegar de un instante de fecha/hora a otro instante de fecha/hora. Este proceso no es siempre reversible.
Un modo común de crear un objeto DateInterval es calculando la diferencia entre dos objetos de fecha/hora a través de DateTimeInterface::diff().
La forma en que se aplica la parte horaria de un intervalo, es decir horas, minutos, segundos y microsegundos, cuando el intervalo se suma a, o se resta de, un objeto de fecha/hora depende de cómo se creó el intervalo. Para un intervalo creado con DateInterval::__construct() la parte horaria representa tiempo transcurrido, mientras que para un intervalo creado con DateInterval::createFromDateString(), o devuelto por DateTimeInterface::diff(), incrementa o decrementa los valores de cada componente. La parte de fecha, es decir años, meses y días, siempre incrementa o decrementa los valores de cada componente. Por lo tanto, ambos solo dan un resultado distinto cuando una transición de zona horaria cae dentro de la parte horaria del intervalo; véase Aritmética con DateTime.
Dado que no hay una forma bien definida de comparar intervalos de fechas, las instancias de DateInterval son incomparables.
El listado de propiedades disponibles que se muestra a continuación depende de la versión de PHP, y deben considerarse como de solo lectura.
Número de años.
Número de meses.
Número de días.
Número de horas.
Número de minutos.
Número de segundos.
Número de microsegundos, como fracción de un segundo.
Es 1 si el intervalo
representa un periodo de tiempo negativo y
0 en caso contrario.
Véase DateInterval::format().
Si el objeto DateInterval fue creado por
DateTimeImmutable::diff() o
DateTime::diff(), entonces este es el
número total de días completos entre las fechas de inicio y fin. En caso contrario,
days será false.
Si el objeto DateInterval fue creado por
DateInterval::createFromDateString(), entonces
esta propiedad tendrá el valor true, y será establecida la propiedad
date_string. De lo contrario,
el valor será false, y serán establecidas las propiedades y a
f, invert, y
days.
La cadena usada como argumento en DateInterval::createFromDateString().
| Versión | Descripción |
|---|---|
| 8.2.0 | Se han añadido las propiedades from_string y date_string para las instancias de DateInterval que fueron creadas usando el método DateInterval::createFromDateString(). |
| 8.2.0 |
Solo las propiedades y a f,
invert, y days serán visibles.
|
| 7.4.0 | Ahora las instancias de DateInterval son incomparables; anteriormente, todas las instancias de DateInterval se consideraban iguales. |
| 7.1.0 | Se ha añadido la propiedad f. |