diff --git a/appendices/migration55.xml b/appendices/migration55.xml index 09318a46f6..1b05cc281e 100644 --- a/appendices/migration55.xml +++ b/appendices/migration55.xml @@ -1234,6 +1234,11 @@ String dereferencing: P DateTimeImmutable + + + DateTimeInterface + + diff --git a/reference/datetime/book.xml b/reference/datetime/book.xml index 8caed916bc..cde63002aa 100644 --- a/reference/datetime/book.xml +++ b/reference/datetime/book.xml @@ -44,6 +44,8 @@ &reference.datetime.constants; &reference.datetime.datetime; + &reference.datetime.datetimeimmutable; + &reference.datetime.datetimeinterface; &reference.datetime.datetimezone; &reference.datetime.dateinterval; &reference.datetime.dateperiod; diff --git a/reference/datetime/datetime.xml b/reference/datetime/datetime.xml index 5ca5df0a94..e64b1dd210 100644 --- a/reference/datetime/datetime.xml +++ b/reference/datetime/datetime.xml @@ -29,6 +29,9 @@ DateTime + + DateTimeInterface + &Constants; @@ -111,6 +114,9 @@ + + &InheritedMethods; + @@ -248,6 +254,12 @@ + + 5.5.0 + + The class now implements DateTimeInterface. + + 5.2.2 diff --git a/reference/datetime/datetimeimmutable.xml b/reference/datetime/datetimeimmutable.xml new file mode 100644 index 0000000000..d774d9a7e6 --- /dev/null +++ b/reference/datetime/datetimeimmutable.xml @@ -0,0 +1,76 @@ + + + + + + The DateTimeImmutable class + DateTimeImmutable + + + + +
+ &reftitle.intro; + + This class behaves the same as DateTime except it + never modifies itself but returns a new object instead. + +
+ + +
+ &reftitle.classsynopsis; + + + + DateTimeImmutable + + + + + DateTimeImmutable + + + + DateTimeInterface + + + + + &Methods; + + + + &InheritedMethods; + + + + +
+ +
+ + &reference.datetime.entities.datetimeimmutable; + +
+ + diff --git a/reference/datetime/datetimeimmutable/add.xml b/reference/datetime/datetimeimmutable/add.xml new file mode 100644 index 0000000000..e4ee81c9c9 --- /dev/null +++ b/reference/datetime/datetimeimmutable/add.xml @@ -0,0 +1,45 @@ + + + + + + DateTimeImmutable::add + + Adds an amount of days, months, years, hours, minutes and seconds + + + + + &reftitle.description; + + public DateTimeImmutableDateTimeImmutable::add + DateIntervalinterval + + + Like DateTime::add but works with + DateTimeImmutable. + + + + + + diff --git a/reference/datetime/datetimeimmutable/construct.xml b/reference/datetime/datetimeimmutable/construct.xml new file mode 100644 index 0000000000..88ef97ea44 --- /dev/null +++ b/reference/datetime/datetimeimmutable/construct.xml @@ -0,0 +1,52 @@ + + + + + + DateTimeImmutable::__construct + date_create_immutable + Returns new DateTimeImmutable object + + + + &reftitle.description; + &style.oop; + + public DateTimeImmutable::__construct + stringtime"now" + DateTimeZonetimezone&null; + + &style.procedural; + + DateTimeImmutabledate_create_immutable + stringtime"now" + DateTimeZonetimezone&null; + + + Like DateTime::__construct but works with + DateTimeImmutable. + + + + + + diff --git a/reference/datetime/datetimeimmutable/createfromformat.xml b/reference/datetime/datetimeimmutable/createfromformat.xml new file mode 100644 index 0000000000..c412c8031e --- /dev/null +++ b/reference/datetime/datetimeimmutable/createfromformat.xml @@ -0,0 +1,54 @@ + + + + + + DateTimeImmutable::createFromFormat + date_create_immutable_from_format + Returns new DateTimeImmutable object formatted according to the specified format + + + + &reftitle.description; + &style.oop; + + public static DateTimeImmutableDateTimeImmutable::createFromFormat + stringformat + stringtime + DateTimeZonetimezone + + &style.procedural; + + DateTimeImmutabledate_create_immutable_from_format + stringformat + stringtime + DateTimeZonetimezone + + + Like DateTime::createFromFormat but works with + DateTimeImmutable. + + + + + + diff --git a/reference/datetime/datetimeimmutable/getlasterrors.xml b/reference/datetime/datetimeimmutable/getlasterrors.xml new file mode 100644 index 0000000000..74f5041c4c --- /dev/null +++ b/reference/datetime/datetimeimmutable/getlasterrors.xml @@ -0,0 +1,43 @@ + + + + + + DateTimeImmutable::getLastErrors + Returns the warnings and errors + + + + &reftitle.description; + + public static arrayDateTimeImmutable::getLastErrors + + + + Like DateTime::getLastErrors but works with + DateTimeImmutable. + + + + + + diff --git a/reference/datetime/datetimeimmutable/modify.xml b/reference/datetime/datetimeimmutable/modify.xml new file mode 100644 index 0000000000..f33df38532 --- /dev/null +++ b/reference/datetime/datetimeimmutable/modify.xml @@ -0,0 +1,43 @@ + + + + + + DateTimeImmutable::modify + Alters the timestamp + + + + &reftitle.description; + + public DateTimeImmutableDateTimeImmutable::modify + stringmodify + + + Like DateTime::modify but works with + DateTimeImmutable. + + + + + + diff --git a/reference/datetime/datetimeimmutable/set-state.xml b/reference/datetime/datetimeimmutable/set-state.xml new file mode 100644 index 0000000000..7e356071f7 --- /dev/null +++ b/reference/datetime/datetimeimmutable/set-state.xml @@ -0,0 +1,43 @@ + + + + + + DateTimeImmutable::__set_state + The __set_state handler + + + + &reftitle.description; + + public static DateTimeImmutableDateTimeImmutable::__set_state + arrayarray + + + Like DateTime::__set_state but works with + DateTimeImmutable. + + + + + + diff --git a/reference/datetime/datetimeimmutable/setdate.xml b/reference/datetime/datetimeimmutable/setdate.xml new file mode 100644 index 0000000000..c6ec1897be --- /dev/null +++ b/reference/datetime/datetimeimmutable/setdate.xml @@ -0,0 +1,45 @@ + + + + + + DateTimeImmutable::setDate + Sets the date + + + + &reftitle.description; + + public DateTimeImmutableDateTimeImmutable::setDate + intyear + intmonth + intday + + + Like DateTime::setDate but works with + DateTimeImmutable. + + + + + + diff --git a/reference/datetime/datetimeimmutable/setisodate.xml b/reference/datetime/datetimeimmutable/setisodate.xml new file mode 100644 index 0000000000..be9f014107 --- /dev/null +++ b/reference/datetime/datetimeimmutable/setisodate.xml @@ -0,0 +1,45 @@ + + + + + + DateTimeImmutable::setISODate + Sets the ISO date + + + + &reftitle.description; + + public DateTimeImmutableDateTimeImmutable::setISODate + intyear + intweek + intday1 + + + Like DateTime::setISODate but works with + DateTimeImmutable. + + + + + + diff --git a/reference/datetime/datetimeimmutable/settime.xml b/reference/datetime/datetimeimmutable/settime.xml new file mode 100644 index 0000000000..278a57c597 --- /dev/null +++ b/reference/datetime/datetimeimmutable/settime.xml @@ -0,0 +1,45 @@ + + + + + + DateTimeImmutable::setTime + Sets the time + + + + &reftitle.description; + + public DateTimeImmutableDateTimeImmutable::setTime + inthour + intminute + intsecond0 + + + Like DateTime::setTime but works with + DateTimeImmutable. + + + + + + diff --git a/reference/datetime/datetimeimmutable/settimestamp.xml b/reference/datetime/datetimeimmutable/settimestamp.xml new file mode 100644 index 0000000000..878987a811 --- /dev/null +++ b/reference/datetime/datetimeimmutable/settimestamp.xml @@ -0,0 +1,43 @@ + + + + + + DateTimeImmutable::setTimestamp + Sets the date and time based on an Unix timestamp + + + + &reftitle.description; + + public DateTimeImmutableDateTimeImmutable::setTimestamp + intunixtimestamp + + + Like DateTime::setTimestamp but works with + DateTimeImmutable. + + + + + + diff --git a/reference/datetime/datetimeimmutable/settimezone.xml b/reference/datetime/datetimeimmutable/settimezone.xml new file mode 100644 index 0000000000..6e1fb81f67 --- /dev/null +++ b/reference/datetime/datetimeimmutable/settimezone.xml @@ -0,0 +1,43 @@ + + + + + + DateTimeImmutable::setTimezone + Sets the time zone + + + + &reftitle.description; + + public DateTimeImmutableDateTimeImmutable::setTimezone + DateTimeZonetimezone + + + Like DateTime::setTimezone but works with + DateTimeImmutable. + + + + + + diff --git a/reference/datetime/datetimeimmutable/sub.xml b/reference/datetime/datetimeimmutable/sub.xml new file mode 100644 index 0000000000..8b4c09aff2 --- /dev/null +++ b/reference/datetime/datetimeimmutable/sub.xml @@ -0,0 +1,45 @@ + + + + + + DateTimeImmutable::sub + + Subtracts an amount of days, months, years, hours, minutes and seconds + + + + + &reftitle.description; + + public DateTimeImmutableDateTimeImmutable::sub + DateIntervalinterval + + + Like DateTime::sub but works with + DateTimeImmutable. + + + + + + diff --git a/reference/datetime/datetimeinterface.xml b/reference/datetime/datetimeinterface.xml new file mode 100644 index 0000000000..bffd1ea8ff --- /dev/null +++ b/reference/datetime/datetimeinterface.xml @@ -0,0 +1,67 @@ + + + + + + The DateTimeInterface interface + DateTimeInterface + + + + +
+ &reftitle.intro; + + + +
+ + +
+ &reftitle.classsynopsis; + + + + DateTimeInterface + + + + + DateTimeInterface + + + + + &Methods; + + + + +
+ +
+ + &reference.datetime.entities.datetimeinterface; + +
+ + diff --git a/reference/datetime/datetime/diff.xml b/reference/datetime/datetimeinterface/diff.xml similarity index 89% rename from reference/datetime/datetime/diff.xml rename to reference/datetime/datetimeinterface/diff.xml index 41cab2f543..6d9dc9475c 100644 --- a/reference/datetime/datetime/diff.xml +++ b/reference/datetime/datetimeinterface/diff.xml @@ -3,7 +3,7 @@ - DateTime::diff + DateTimeInterface::diff date_diff Returns the difference between two DateTime objects @@ -12,19 +12,20 @@ &reftitle.description; &style.oop; - public DateIntervalDateTime::diff - DateTimedatetime2 + public DateIntervalDateTimeInterface::diff + DateTimeInterfacedatetime2 boolabsolutefalse &style.procedural; DateIntervaldate_diff - DateTimedatetime1 - DateTimedatetime2 + DateTimeInterfacedatetime1 + DateTimeInterfacedatetime2 boolabsolutefalse - Returns the difference between two DateTime objects. + Returns the difference between two DateTimeInterface + objects. diff --git a/reference/datetime/datetime/format.xml b/reference/datetime/datetimeinterface/format.xml similarity index 94% rename from reference/datetime/datetime/format.xml rename to reference/datetime/datetimeinterface/format.xml index bb65f81f24..d14210b3c5 100644 --- a/reference/datetime/datetime/format.xml +++ b/reference/datetime/datetimeinterface/format.xml @@ -3,7 +3,7 @@ - DateTime::format + DateTimeInterface::format date_format Returns date formatted according to given format @@ -12,13 +12,13 @@ &reftitle.description; &style.oop; - public stringDateTime::format + public stringDateTimeInterface::format stringformat &style.procedural; stringdate_format - DateTimeobject + DateTimeInterfaceobject stringformat diff --git a/reference/datetime/datetime/getoffset.xml b/reference/datetime/datetimeinterface/getoffset.xml similarity index 93% rename from reference/datetime/datetime/getoffset.xml rename to reference/datetime/datetimeinterface/getoffset.xml index 2c19107808..a3457d45f3 100644 --- a/reference/datetime/datetime/getoffset.xml +++ b/reference/datetime/datetimeinterface/getoffset.xml @@ -3,7 +3,7 @@ - DateTime::getOffset + DateTimeInterface::getOffset date_offset_get Returns the timezone offset @@ -12,13 +12,13 @@ &reftitle.description; &style.oop; - public intDateTime::getOffset + public intDateTimeInterface::getOffset &style.procedural; intdate_offset_get - DateTimeobject + DateTimeInterfaceobject Returns the timezone offset. diff --git a/reference/datetime/datetime/gettimestamp.xml b/reference/datetime/datetimeinterface/gettimestamp.xml similarity index 92% rename from reference/datetime/datetime/gettimestamp.xml rename to reference/datetime/datetimeinterface/gettimestamp.xml index eb283ceb75..3eed13d69d 100644 --- a/reference/datetime/datetime/gettimestamp.xml +++ b/reference/datetime/datetimeinterface/gettimestamp.xml @@ -3,7 +3,7 @@ - DateTime::getTimestamp + DateTimeInterface::getTimestamp date_timestamp_get Gets the Unix timestamp @@ -12,13 +12,13 @@ &reftitle.description; &style.oop; - public intDateTime::getTimestamp + public intDateTimeInterface::getTimestamp &style.procedural; intdate_timestamp_get - DateTimeobject + DateTimeInterfaceobject Gets the Unix timestamp. diff --git a/reference/datetime/datetime/gettimezone.xml b/reference/datetime/datetimeinterface/gettimezone.xml similarity index 92% rename from reference/datetime/datetime/gettimezone.xml rename to reference/datetime/datetimeinterface/gettimezone.xml index 45653d83f6..ca423b2342 100644 --- a/reference/datetime/datetime/gettimezone.xml +++ b/reference/datetime/datetimeinterface/gettimezone.xml @@ -3,7 +3,7 @@ - DateTime::getTimezone + DateTimeInterface::getTimezone date_timezone_get Return time zone relative to given DateTime @@ -12,13 +12,13 @@ &reftitle.description; &style.oop; - public DateTimeZoneDateTime::getTimezone + public DateTimeZoneDateTimeInterface::getTimezone &style.procedural; DateTimeZonedate_timezone_get - DateTimeobject + DateTimeInterfaceobject Return time zone relative to given DateTime. diff --git a/reference/datetime/datetime/wakeup.xml b/reference/datetime/datetimeinterface/wakeup.xml similarity index 89% rename from reference/datetime/datetime/wakeup.xml rename to reference/datetime/datetimeinterface/wakeup.xml index 8710f61070..7c1bf4b5c1 100644 --- a/reference/datetime/datetime/wakeup.xml +++ b/reference/datetime/datetimeinterface/wakeup.xml @@ -3,14 +3,14 @@ - DateTime::__wakeup + DateTimeInterface::__wakeup The __wakeup handler &reftitle.description; - public DateTimeDateTime::__wakeup + public DateTimeInterface::__wakeup diff --git a/reference/datetime/functions/date-create-immutable-from-format.xml b/reference/datetime/functions/date-create-immutable-from-format.xml new file mode 100644 index 0000000000..b5c9e739d2 --- /dev/null +++ b/reference/datetime/functions/date-create-immutable-from-format.xml @@ -0,0 +1,38 @@ + + + + + + date_create_immutable_from_format + &Alias; DateTimeImmutable::createFromFormat + + + + &reftitle.description; + + &info.function.alias; DateTimeImmutable::createFromFormat + + + + + + diff --git a/reference/datetime/functions/date-create-immutable.xml b/reference/datetime/functions/date-create-immutable.xml new file mode 100644 index 0000000000..06943fc405 --- /dev/null +++ b/reference/datetime/functions/date-create-immutable.xml @@ -0,0 +1,37 @@ + + + + + date_create_immutable + &Alias; DateTimeImmutable::__construct + + + + &reftitle.description; + + &info.function.alias; DateTimeImmutable::__construct + + + + + + diff --git a/reference/datetime/versions.xml b/reference/datetime/versions.xml index 24c3c41730..6944a93fce 100644 --- a/reference/datetime/versions.xml +++ b/reference/datetime/versions.xml @@ -8,16 +8,10 @@ - - - - - - @@ -26,17 +20,19 @@ + + + + + + + + - - - - - -