The DateInterval class
Represents a date interval.
Intro
Represents a date interval.
A date interval stores either a fixed amount of time (in years, months, days, hours etc) or a relative time string in the format that DateTimeImmutable's and DateTime's constructors support.
More specifically, the information in an object of the DateInterval class is an instruction to get from one date/time to another date/time. This process is not always reversible.
A common way to create a DateInterval object is by calculating the difference between two date/time objects through DateTimeInterface::diff.
How the time part of an interval, that is hours, minutes, seconds and microseconds, is applied when the interval is added to, or subtracted from, a date/time object depends on how the interval was created. For an interval created with DateInterval::__construct the time part covers elapsed time, whereas for an interval created with DateInterval::createFromDateString, or returned by DateTimeInterface::diff, it increments or decrements the individual component values. The date part, that is years, months and days, always increments or decrements the individual component values. The two therefore only give a different result when a timezone transition falls within the time part of the interval; see Date/Time Arithmetic.
Since there is no well defined way to compare date intervals, DateInterval instances are incomparable.
Class synopsis
Properties
The available properties listed below depend on PHP version, and should be considered as readonly.
yNumber of years.
mNumber of months.
dNumber of days.
hNumber of hours.
iNumber of minutes.
sNumber of seconds.
fNumber of microseconds, as a fraction of a second.
invertIs
1if the interval represents a negative time period and0otherwise. SeeDateInterval::format.daysIf the DateInterval object was created by
DateTimeImmutable::difforDateTime::diff, then this is the total number of full days between the start and end dates. Otherwise,dayswill be false.from_stringIf the DateInterval object was created by
DateInterval::createFromDateString, then this property's value will be true, and thedate_stringproperty will be populated. Otherwise, the value will be false, and theytof,invert, anddaysproperties will be populated.date_stringThe string used as argument to
DateInterval::createFromDateString.
Changelog
| Version | Description |
|---|---|
| 8.2.0 | The from_string and date_string properties were added for DateInterval instances that were created using the DateInterval::createFromDateString method. |
| 8.2.0 | Only the y to f, invert, and days will be visible. |
| 7.4.0 | DateInterval instances are incomparable now; previously, all DateInterval instances were considered equal. |
| 7.1.0 | The f property was added. |
Dateinterval