[DOC-CVS] [doc-en] master: Enable runnable (WASM) examples for datetime (#4887)
[email protected] (AllenJB via GitHub)
| Newsgroups | php.doc.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: AllenJB (AllenJB)
Committer: GitHub (web-flow)
Pusher: derickr
Date: 2025-10-31T10:32:20Z
Commit: https://github.com/php/doc-en/commit/3a8c3e77df070a046c9d5b56b68926ca2d7e5ee3
Raw diff: https://github.com/php/doc-en/commit/3a8c3e77df070a046c9d5b56b68926ca2d7e5ee3.diff
Enable runnable (WASM) examples for datetime (#4887)
* Enable runnable (WASM) examples for datetime
Changed paths:
M reference/datetime/book.xml
M reference/datetime/dateinterval/construct.xml
M reference/datetime/dateinterval/createfromdatestring.xml
M reference/datetime/dateinterval/format.xml
M reference/datetime/dateperiod.xml
M reference/datetime/dateperiod/construct.xml
M reference/datetime/dateperiod/createfromiso8601string.xml
M reference/datetime/dateperiod/getdateinterval.xml
M reference/datetime/dateperiod/getenddate.xml
M reference/datetime/dateperiod/getrecurrences.xml
M reference/datetime/dateperiod/getstartdate.xml
M reference/datetime/datetime/createfromimmutable.xml
M reference/datetime/datetime/createfrominterface.xml
M reference/datetime/datetime/modify.xml
M reference/datetime/datetime/settimezone.xml
M reference/datetime/datetimeimmutable/construct.xml
M reference/datetime/datetimeimmutable/createfromformat.xml
M reference/datetime/datetimeimmutable/createfrominterface.xml
M reference/datetime/datetimeimmutable/createfrommutable.xml
M reference/datetime/datetimeimmutable/getlasterrors.xml
M reference/datetime/datetimeimmutable/modify.xml
M reference/datetime/datetimeimmutable/setdate.xml
M reference/datetime/datetimeimmutable/setisodate.xml
M reference/datetime/datetimeimmutable/settime.xml
M reference/datetime/datetimeimmutable/settimestamp.xml
M reference/datetime/datetimeimmutable/settimezone.xml
M reference/datetime/datetimeimmutable/sub.xml
M reference/datetime/datetimeinterface/diff.xml
M reference/datetime/datetimeinterface/format.xml
M reference/datetime/datetimeinterface/getoffset.xml
M reference/datetime/datetimeinterface/gettimestamp.xml
M reference/datetime/datetimeinterface/gettimezone.xml
M reference/datetime/datetimeinterface/serialize.xml
M reference/datetime/datetimeinterface/unserialize.xml
M reference/datetime/datetimezone/construct.xml
M reference/datetime/datetimezone/getlocation.xml
M reference/datetime/datetimezone/getoffset.xml
M reference/datetime/datetimezone/gettransitions.xml
M reference/datetime/datetimezone/listabbreviations.xml
M reference/datetime/examples.xml
M reference/datetime/formats.xml
M reference/datetime/functions/checkdate.xml
M reference/datetime/functions/date-default-timezone-get.xml
M reference/datetime/functions/date-default-timezone-set.xml
M reference/datetime/functions/date-parse-from-format.xml
M reference/datetime/functions/date-parse.xml
M reference/datetime/functions/date-sun-info.xml
M reference/datetime/functions/date-sunrise.xml
M reference/datetime/functions/date-sunset.xml
M reference/datetime/functions/date.xml
M reference/datetime/functions/getdate.xml
M reference/datetime/functions/gettimeofday.xml
M reference/datetime/functions/gmdate.xml
M reference/datetime/functions/gmmktime.xml
M reference/datetime/functions/gmstrftime.xml
M reference/datetime/functions/idate.xml
M reference/datetime/functions/localtime.xml
M reference/datetime/functions/microtime.xml
M reference/datetime/functions/mktime.xml
M reference/datetime/functions/strftime.xml
M reference/datetime/functions/strptime.xml
M reference/datetime/functions/strtotime.xml
M reference/datetime/functions/time.xml
M reference/datetime/functions/timezone-name-from-abbr.xml
M reference/datetime/functions/timezone-version-get.xml
Diff:
diff --git a/reference/datetime/book.xml b/reference/datetime/book.xml
index f0ac60ef17ed..31fef728e4dd 100644
--- a/reference/datetime/book.xml
+++ b/reference/datetime/book.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<book xml:id="book.datetime" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+<book xml:id="book.datetime" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" annotations="interactive">
<?phpdoc extension-membership="core"?>
<title>Date and Time</title>
<titleabbrev>Date/Time</titleabbrev>
diff --git a/reference/datetime/dateinterval/construct.xml b/reference/datetime/dateinterval/construct.xml
index 49c77f41e01a..ed300ac32a37 100644
--- a/reference/datetime/dateinterval/construct.xml
+++ b/reference/datetime/dateinterval/construct.xml
@@ -188,7 +188,9 @@ echo $interval->format("%d");
</programlisting>
&example.outputs;
<screen role="php">
+<![CDATA[
7
+]]>
</screen>
</example>
</para>
@@ -199,11 +201,8 @@ echo $interval->format("%d");
<programlisting role="php">
<![CDATA[
<?php
-
$interval = new DateInterval('P1W2D');
var_dump($interval);
-
-?>
]]>
</programlisting>
&example.outputs.82;
diff --git a/reference/datetime/dateinterval/createfromdatestring.xml b/reference/datetime/dateinterval/createfromdatestring.xml
index 9297cb0f9c83..0ec5291fc22b 100644
--- a/reference/datetime/dateinterval/createfromdatestring.xml
+++ b/reference/datetime/dateinterval/createfromdatestring.xml
@@ -106,7 +106,7 @@
<para>
<example>
<title>Parsing valid date intervals</title>
- <programlisting role="php">
+ <programlisting role="php" annotations="non-interactive">
<![CDATA[
<?php
// Each set of intervals is equal.
@@ -130,7 +130,6 @@ $i = DateInterval::createFromDateString('1 day + 12 hours');
$i = new DateInterval('PT3600S');
$i = DateInterval::createFromDateString('3600 seconds');
-?>
]]>
</programlisting>
</example>
@@ -146,13 +145,14 @@ echo $i->format('%d %h %i'), "\n";
$i = DateInterval::createFromDateString('1 year - 10 days');
echo $i->format('%y %d'), "\n";
-?>
]]>
</programlisting>
&example.outputs;
- <screen role="shell">
+ <screen>
+<![CDATA[
449 2 70
1 -10
+]]>
</screen>
</example>
</para>
diff --git a/reference/datetime/dateinterval/format.xml b/reference/datetime/dateinterval/format.xml
index 600c10adc272..539923de8c8b 100644
--- a/reference/datetime/dateinterval/format.xml
+++ b/reference/datetime/dateinterval/format.xml
@@ -185,11 +185,8 @@
<programlisting role="php">
<![CDATA[
<?php
-
$interval = new DateInterval('P2Y4DT6H8M');
echo $interval->format('%d days');
-
-?>
]]>
</programlisting>
&example.outputs;
@@ -206,11 +203,8 @@ echo $interval->format('%d days');
<programlisting role="php">
<![CDATA[
<?php
-
$interval = new DateInterval('P32D');
echo $interval->format('%d days');
-
-?>
]]>
</programlisting>
&example.outputs;
@@ -230,7 +224,6 @@ echo $interval->format('%d days');
<programlisting role="php">
<![CDATA[
<?php
-
$january = new DateTime('2010-01-01');
$february = new DateTime('2010-02-01');
$interval = $february->diff($january);
@@ -241,8 +234,6 @@ echo $interval->format('%a total days')."\n";
// While %d will only output the number of days not already covered by the
// month.
echo $interval->format('%m month, %d days');
-
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/dateperiod.xml b/reference/datetime/dateperiod.xml
index 960e46a3be57..92fef3d76c7c 100644
--- a/reference/datetime/dateperiod.xml
+++ b/reference/datetime/dateperiod.xml
@@ -162,7 +162,8 @@
<para>
<informalexample>
<programlisting role="php">
-<![CDATA[<?php
+<![CDATA[
+<?php
$start = new DateTime('2018-12-31 00:00:00');
$end = new DateTime('2021-12-31 00:00:00');
$interval = new DateInterval('P1M');
@@ -184,15 +185,17 @@ echo $period->recurrences, "\n";
$period = new DatePeriod($start, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
echo $period->recurrences, "\n";
-?>]]>
+]]>
</programlisting>
&example.outputs;
<screen role="php">
+<![CDATA[
5
6
7
1
0
+]]>
</screen>
</informalexample>
</para>
diff --git a/reference/datetime/dateperiod/construct.xml b/reference/datetime/dateperiod/construct.xml
index 491c6164e37c..dcbf7fa328d7 100644
--- a/reference/datetime/dateperiod/construct.xml
+++ b/reference/datetime/dateperiod/construct.xml
@@ -210,12 +210,12 @@ $period = new DatePeriod($iso);
foreach ($period as $date) {
echo $date->format('Y-m-d')."\n";
}
-?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
+Deprecated: Calling DatePeriod::__construct(string $isostr, int $options = 0) is deprecated, use DatePeriod::createFromISO8601String() instead in script on line 11
2012-07-01
2012-07-08
2012-07-15
@@ -244,7 +244,6 @@ $period = new DatePeriod($start, $interval, $end,
foreach ($period as $date) {
echo $date->format('Y-m-d')."\n";
}
-?>
]]>
</programlisting>
&example.outputs;
@@ -273,7 +272,6 @@ $period = new DatePeriod($begin, $interval, $end, DatePeriod::EXCLUDE_START_DATE
foreach ($period as $dt) {
echo $dt->format('l Y-m-d'), "\n";
}
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/dateperiod/createfromiso8601string.xml b/reference/datetime/dateperiod/createfromiso8601string.xml
index f077a62024bd..29aafc1534a6 100644
--- a/reference/datetime/dateperiod/createfromiso8601string.xml
+++ b/reference/datetime/dateperiod/createfromiso8601string.xml
@@ -122,7 +122,6 @@
<![CDATA[
<?php
$iso = 'R4/2023-07-01T00:00:00Z/P7D';
-
$period = DatePeriod::createFromISO8601String($iso);
// By iterating over the DatePeriod object, all of the
@@ -130,7 +129,6 @@ $period = DatePeriod::createFromISO8601String($iso);
foreach ($period as $date) {
echo $date->format('Y-m-d'), "\n";
}
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/dateperiod/getdateinterval.xml b/reference/datetime/dateperiod/getdateinterval.xml
index 78c4cf119d10..43110f0091fe 100644
--- a/reference/datetime/dateperiod/getdateinterval.xml
+++ b/reference/datetime/dateperiod/getdateinterval.xml
@@ -40,10 +40,9 @@
<programlisting role="php">
<![CDATA[
<?php
-$period = new DatePeriod('R7/2016-05-16T00:00:00Z/P1D');
+$period = DatePeriod::createFromIso8601String('R7/2016-05-16T00:00:00Z/P1D');
$interval = $period->getDateInterval();
echo $interval->format('%d day');
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/dateperiod/getenddate.xml b/reference/datetime/dateperiod/getenddate.xml
index aa029a0f0eb6..2a3edd72a0b6 100644
--- a/reference/datetime/dateperiod/getenddate.xml
+++ b/reference/datetime/dateperiod/getenddate.xml
@@ -60,7 +60,6 @@ $period = new DatePeriod(
);
$start = $period->getEndDate();
echo $start->format(DateTime::ISO8601);
-?>
]]>
</programlisting>
&examples.outputs;
@@ -81,7 +80,6 @@ $period = new DatePeriod(
7
);
var_dump($period->getEndDate());
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/dateperiod/getrecurrences.xml b/reference/datetime/dateperiod/getrecurrences.xml
index 0c7e1f91a1ef..99d628f2f29d 100644
--- a/reference/datetime/dateperiod/getrecurrences.xml
+++ b/reference/datetime/dateperiod/getrecurrences.xml
@@ -27,7 +27,7 @@
&reftitle.returnvalues;
<para>
The number of recurrences as set by explicitly passing the
- <literal>$recurrences</literal> to the contructor of the
+ <literal>$recurrences</literal> to the constructor of the
<classname>DatePeriod</classname> class, or &null; otherwise.
</para>
</refsect1>
@@ -38,7 +38,8 @@
<example>
<title>Different values for <methodname>DatePeriod::getRecurrences</methodname></title>
<programlisting role="php">
-<![CDATA[<?php
+<![CDATA[
+<?php
$start = new DateTime('2018-12-31 00:00:00');
$end = new DateTime('2021-12-31 00:00:00');
$interval = new DateInterval('P1M');
@@ -60,16 +61,18 @@ var_dump($period->getRecurrences());
$period = new DatePeriod($start, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
var_dump($period->getRecurrences());
-?>]]>
+]]>
</programlisting>
&example.outputs;
<screen role="php">
+<![CDATA[
5
5
5
NULL
NULL
+]]>
</screen>
</example>
</para>
diff --git a/reference/datetime/dateperiod/getstartdate.xml b/reference/datetime/dateperiod/getstartdate.xml
index 58cbb12e614b..22e19d1734d1 100644
--- a/reference/datetime/dateperiod/getstartdate.xml
+++ b/reference/datetime/dateperiod/getstartdate.xml
@@ -46,10 +46,9 @@
<programlisting role="php">
<![CDATA[
<?php
-$period = new DatePeriod('R7/2016-05-16T00:00:00Z/P1D');
+$period = DatePeriod::createFromIso8601String('R7/2016-05-16T00:00:00Z/P1D');
$start = $period->getStartDate();
echo $start->format(DateTime::ISO8601);
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/datetime/createfromimmutable.xml b/reference/datetime/datetime/createfromimmutable.xml
index 51fde5018075..965e3532f38d 100644
--- a/reference/datetime/datetime/createfromimmutable.xml
+++ b/reference/datetime/datetime/createfromimmutable.xml
@@ -70,13 +70,11 @@
<para>
<example>
<title>Creating a mutable date time object</title>
- <programlisting role="php">
+ <programlisting role="php" annotations="non-interactive">
<![CDATA[
<?php
$date = new DateTimeImmutable("2014-06-20 11:45 Europe/London");
-
$mutable = DateTime::createFromImmutable( $date );
-?>
]]>
</programlisting>
</example>
diff --git a/reference/datetime/datetime/createfrominterface.xml b/reference/datetime/datetime/createfrominterface.xml
index a98ea99a0ee0..58234d1021c4 100644
--- a/reference/datetime/datetime/createfrominterface.xml
+++ b/reference/datetime/datetime/createfrominterface.xml
@@ -45,16 +45,14 @@
<para>
<example>
<title>Creating a mutable date time object</title>
- <programlisting role="php">
+ <programlisting role="php" annotations="non-interactive">
<![CDATA[
<?php
$date = new DateTimeImmutable("2014-06-20 11:45 Europe/London");
-
$mutable = DateTime::createFromInterface($date);
$date = new DateTime("2014-06-20 11:45 Europe/London");
$also_mutable = DateTime::createFromInterface($date);
-?>
]]>
</programlisting>
</example>
diff --git a/reference/datetime/datetime/modify.xml b/reference/datetime/datetime/modify.xml
index 97d738de1345..46bd71034f16 100644
--- a/reference/datetime/datetime/modify.xml
+++ b/reference/datetime/datetime/modify.xml
@@ -92,9 +92,14 @@
$date = new DateTime('2006-12-12');
$date->modify('+1 day');
echo $date->format('Y-m-d');
-?>
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+2006-12-13
+]]>
+ </screen>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
@@ -102,10 +107,9 @@ echo $date->format('Y-m-d');
$date = date_create('2006-12-12');
date_modify($date, '+1 day');
echo date_format($date, 'Y-m-d');
-?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
2006-12-13
@@ -124,7 +128,6 @@ echo $date->format('Y-m-d') . "\n";
$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";
-?>
]]>
</programlisting>
&example.outputs;
@@ -150,7 +153,6 @@ echo $date->format('Y-m-d H:i') . "\n";
$date->modify('17:30');
echo $date->format('Y-m-d H:i') . "\n";
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/datetime/settimezone.xml b/reference/datetime/datetime/settimezone.xml
index 2bfd15740162..dd2c5d1dd34c 100644
--- a/reference/datetime/datetime/settimezone.xml
+++ b/reference/datetime/datetime/settimezone.xml
@@ -70,9 +70,15 @@ echo $date->format('Y-m-d H:i:sP') . "\n";
$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $date->format('Y-m-d H:i:sP') . "\n";
-?>
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+2000-01-01 00:00:00+12:00
+2000-01-01 01:45:00+13:45
+]]>
+ </screen>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
@@ -82,10 +88,9 @@ echo date_format($date, 'Y-m-d H:i:sP') . "\n";
date_timezone_set($date, timezone_open('Pacific/Chatham'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";
-?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
2000-01-01 00:00:00+12:00
diff --git a/reference/datetime/datetimeimmutable/construct.xml b/reference/datetime/datetimeimmutable/construct.xml
index a8b9063ad7a2..943fa828f2a8 100644
--- a/reference/datetime/datetimeimmutable/construct.xml
+++ b/reference/datetime/datetimeimmutable/construct.xml
@@ -129,9 +129,14 @@ try {
}
echo $date->format('Y-m-d');
-?>
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+2000-01-01
+]]>
+ </screen>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
@@ -146,10 +151,9 @@ if (!$date) {
}
echo date_format($date, 'Y-m-d');
-?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
2000-01-01
@@ -161,7 +165,9 @@ echo date_format($date, 'Y-m-d');
<programlisting role="php">
<![CDATA[
<?php
-// Specified date/time in your computer's time zone.
+date_default_timezone_set('America/Jamaica');
+
+// Specified date/time in PHP's default time zone.
$date = new DateTimeImmutable('2000-01-01');
echo $date->format('Y-m-d H:i:sP') . "\n";
@@ -169,7 +175,7 @@ echo $date->format('Y-m-d H:i:sP') . "\n";
$date = new DateTimeImmutable('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
-// Current date/time in your computer's time zone.
+// Current date/time in your PHP's default time zone.
$date = new DateTimeImmutable();
echo $date->format('Y-m-d H:i:sP') . "\n";
@@ -184,7 +190,6 @@ echo $date->format('Y-m-d H:i:sP') . "\n";
// Non-existent values roll over.
$date = new DateTimeImmutable('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "\n";
-?>
]]>
</programlisting>
&example.outputs.similar;
@@ -198,6 +203,12 @@ echo $date->format('Y-m-d H:i:sP') . "\n";
2000-03-01 00:00:00-05:00
]]>
</screen>
+ <note>
+ <para>
+ Rolled over dates can be detected by checking for warnings using
+ <function>DateTimeImmutable::getLastErrors</function>.
+ </para>
+ </note>
</example>
<example>
@@ -210,14 +221,13 @@ $timeZone = new \DateTimeZone('Asia/Tokyo');
$time = new \DateTimeImmutable();
$time = $time->setTimezone($timeZone);
-echo $time->format('Y/m/d H:i:s'), "\n";
-?>
+echo $time->format('Y/m/d H:i:s e'), "\n";
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
-2022/08/12 23:49:23
+2022/08/12 23:49:23 Asia/Tokyo
]]>
</screen>
</example>
@@ -230,7 +240,6 @@ echo $time->format('Y/m/d H:i:s'), "\n";
$time = new \DateTimeImmutable("-1 year");
echo $time->format('Y/m/d H:i:s'), "\n";
-?>
]]>
</programlisting>
&example.outputs.similar;
diff --git a/reference/datetime/datetimeimmutable/createfromformat.xml b/reference/datetime/datetimeimmutable/createfromformat.xml
index 2a6be6f434c6..0b3950341ad8 100644
--- a/reference/datetime/datetimeimmutable/createfromformat.xml
+++ b/reference/datetime/datetimeimmutable/createfromformat.xml
@@ -504,7 +504,6 @@
<?php
$date = DateTimeImmutable::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
-?>
]]>
</programlisting>
</example>
@@ -515,9 +514,17 @@ echo $date->format('Y-m-d');
<programlisting role="php">
<![CDATA[
<?php
-$date = DateTimeImmutable::createFromFormat(DateTimeInterface::ISO8601, '2004-02-12T15:19:21+00:00');
-$date = DateTimeImmutable::createFromFormat(DateTimeInterface::RFC3339_EXTENDED, '2013-10-14T09:00:00.000+02:00');
-?>
+$date = DateTimeImmutable::createFromFormat(
+ DateTimeInterface::ISO8601,
+ '2004-02-12T15:19:21+00:00'
+);
+echo $date->format('c e') . "\n";
+
+$date = DateTimeImmutable::createFromFormat(
+ DateTimeInterface::RFC3339_EXTENDED,
+ '2013-10-14T09:00:00.000+02:00'
+);
+echo $date->format('c e') . "\n";
]]>
</programlisting>
<para>
@@ -557,7 +564,6 @@ echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";
$format = 'i';
$date = DateTimeImmutable::createFromFormat($format, '15');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";
-?>
]]>
</programlisting>
&example.outputs.similar;
@@ -579,7 +585,6 @@ Format: i; 2022-06-02 00:15:00
<![CDATA[
<?php
echo DateTimeImmutable::createFromFormat('H\h i\m s\s','23h 15m 03s')->format('H:i:s');
-?>
]]>
</programlisting>
&example.outputs.similar;
@@ -596,7 +601,6 @@ echo DateTimeImmutable::createFromFormat('H\h i\m s\s','23h 15m 03s')->format('H
<![CDATA[
<?php
echo DateTimeImmutable::createFromFormat('Y-m-d H:i:s', '2021-17-35 16:60:97')->format(DateTimeImmutable::RFC2822);
-?>
]]>
</programlisting>
&example.outputs.similar;
@@ -645,7 +649,6 @@ Sat, 04 Jun 2022 17:01:37 +0000
<?php
$d = DateTime::createFromFormat(DateTimeInterface::RFC1123, 'Mon, 3 Aug 2020 25:00:00 +0000');
echo $d->format(DateTime::RFC1123), "\n";
-?>
]]>
</programlisting>
&example.outputs.similar;
@@ -691,7 +694,6 @@ $d = DateTimeImmutable::createFromFormat('Y-m-d H:i:s', '2021-17-35 16:60:97');
echo $d->format(DateTimeImmutable::RFC2822), "\n\n";
var_dump(DateTimeImmutable::GetLastErrors());
-?>
]]>
</programlisting>
&example.outputs.similar;
@@ -723,7 +725,6 @@ array(4) {
<![CDATA[
<?php
print_r(date_parse_from_format('Gis', '60101'));
-?>
]]>
</programlisting>
&example.outputs.similar;
diff --git a/reference/datetime/datetimeimmutable/createfrominterface.xml b/reference/datetime/datetimeimmutable/createfrominterface.xml
index dd2de3ce81af..ea9eab8838e2 100644
--- a/reference/datetime/datetimeimmutable/createfrominterface.xml
+++ b/reference/datetime/datetimeimmutable/createfrominterface.xml
@@ -45,16 +45,14 @@
<para>
<example>
<title>Creating an immutable date time object</title>
- <programlisting role="php">
+ <programlisting role="php" annotations="non-interactive">
<![CDATA[
<?php
$date = new DateTime("2014-06-20 11:45 Europe/London");
-
$immutable = DateTimeImmutable::createFromInterface($date);
$date = new DateTimeImmutable("2014-06-20 11:45 Europe/London");
$also_immutable = DateTimeImmutable::createFromInterface($date);
-?>
]]>
</programlisting>
</example>
diff --git a/reference/datetime/datetimeimmutable/createfrommutable.xml b/reference/datetime/datetimeimmutable/createfrommutable.xml
index c3a7c5c2e4c5..c2840fb7c39a 100644
--- a/reference/datetime/datetimeimmutable/createfrommutable.xml
+++ b/reference/datetime/datetimeimmutable/createfrommutable.xml
@@ -70,13 +70,11 @@
<para>
<example>
<title>Creating an immutable date time object</title>
- <programlisting role="php">
+ <programlisting role="php" annotations="non-interactive">
<![CDATA[
<?php
$date = new DateTime("2014-06-20 11:45 Europe/London");
-
$immutable = DateTimeImmutable::createFromMutable( $date );
-?>
]]>
</programlisting>
</example>
diff --git a/reference/datetime/datetimeimmutable/getlasterrors.xml b/reference/datetime/datetimeimmutable/getlasterrors.xml
index fe970a9bd7a8..f903330bba6f 100644
--- a/reference/datetime/datetimeimmutable/getlasterrors.xml
+++ b/reference/datetime/datetimeimmutable/getlasterrors.xml
@@ -71,35 +71,63 @@ try {
print_r(DateTimeImmutable::getLastErrors());
// The real object-oriented way to do this is
- // echo $e->getMessage();
+ echo $e->getMessage();
}
?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
Array
(
- [warning_count] => 1
- [warnings] => Array
- (
- [6] => Double timezone specification
- )
-
- [error_count] => 1
- [errors] => Array
- (
- [0] => The timezone could not be found in the database
- )
+ [warning_count] => 1
+ [warnings] => Array
+ (
+ [6] => Double timezone specification
+ )
+ [error_count] => 1
+ [errors] => Array
+ (
+ [0] => The timezone could not be found in the database
+ )
)
+Failed to parse time string (asdfasdf) at position 0 (a): The timezone could not be found in the database
]]>
</screen>
<para>
The indexes 6, and 0 in the example output refer to the character index in the string where the error occurred.
</para>
</example>
+ <example>
+ <title>Detecting rolled over dates</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+$date = DateTimeImmutable::createFromFormat('!Y-m-d', '2020-02-30');
+print_r(DateTimeImmutable::getLastErrors());
+]]>
+ </programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+Array
+(
+ [warning_count] => 1
+ [warnings] => Array
+ (
+ [10] => The parsed date was invalid
+ )
+
+ [error_count] => 0
+ [errors] => Array
+ (
+ )
+)
+]]>
+ </screen>
+ </example>
</refsect1>
diff --git a/reference/datetime/datetimeimmutable/modify.xml b/reference/datetime/datetimeimmutable/modify.xml
index e4958c7a946d..ca14377daaf3 100644
--- a/reference/datetime/datetimeimmutable/modify.xml
+++ b/reference/datetime/datetimeimmutable/modify.xml
@@ -83,10 +83,9 @@
$date = new DateTimeImmutable('2006-12-12');
$newDate = $date->modify('+1 day');
echo $newDate->format('Y-m-d');
-?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
2006-12-13
@@ -105,7 +104,6 @@ echo $newDate1->format('Y-m-d') . "\n";
$newDate2 = $newDate1->modify('+1 month');
echo $newDate2->format('Y-m-d') . "\n";
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/datetimeimmutable/setdate.xml b/reference/datetime/datetimeimmutable/setdate.xml
index 1009c22eb1aa..a5ae730dd877 100644
--- a/reference/datetime/datetimeimmutable/setdate.xml
+++ b/reference/datetime/datetimeimmutable/setdate.xml
@@ -70,10 +70,9 @@
$date = new DateTimeImmutable();
$newDate = $date->setDate(2001, 2, 3);
echo $newDate->format('Y-m-d');
-?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
2001-02-03
@@ -95,7 +94,6 @@ echo $newDate->format('Y-m-d') . "\n";
$newDate = $date->setDate(2001, 14, 3);
echo $newDate->format('Y-m-d') . "\n";
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/datetimeimmutable/setisodate.xml b/reference/datetime/datetimeimmutable/setisodate.xml
index f443c96d52c1..f7d3200fe745 100644
--- a/reference/datetime/datetimeimmutable/setisodate.xml
+++ b/reference/datetime/datetimeimmutable/setisodate.xml
@@ -74,9 +74,15 @@ echo $newDate->format('Y-m-d') . "\n";
$newDate = $date->setISODate(2008, 2, 7);
echo $newDate->format('Y-m-d') . "\n";
-?>
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+2008-01-07
+2008-01-13
+]]>
+ </screen>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
@@ -89,10 +95,9 @@ echo date_format($date, 'Y-m-d') . "\n";
date_isodate_set($date, 2008, 2, 7);
echo date_format($date, 'Y-m-d') . "\n";
-?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
2008-01-07
@@ -116,7 +121,6 @@ echo $newDate->format('Y-m-d') . "\n";
$newDate = $date->setISODate(2008, 53, 7);
echo $newDate->format('Y-m-d') . "\n";
-?>
]]>
</programlisting>
&example.outputs;
@@ -137,10 +141,9 @@ echo $newDate->format('Y-m-d') . "\n";
$date = new DateTimeImmutable();
$newDate = $date->setISODate(2008, 14);
echo $newDate->format('n');
-?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
3
diff --git a/reference/datetime/datetimeimmutable/settime.xml b/reference/datetime/datetimeimmutable/settime.xml
index 62efd51e6562..c904cfb61b8b 100644
--- a/reference/datetime/datetimeimmutable/settime.xml
+++ b/reference/datetime/datetimeimmutable/settime.xml
@@ -111,7 +111,7 @@ echo $newDate->format('Y-m-d H:i:s') . "\n";
?>
]]>
</programlisting>
- &examples.outputs.similar;
+ &example.outputs.similar;
<screen>
<![CDATA[
2001-01-01 14:55:00
diff --git a/reference/datetime/datetimeimmutable/settimestamp.xml b/reference/datetime/datetimeimmutable/settimestamp.xml
index 17447d61a9de..518ca854574a 100644
--- a/reference/datetime/datetimeimmutable/settimestamp.xml
+++ b/reference/datetime/datetimeimmutable/settimestamp.xml
@@ -55,10 +55,9 @@ echo $date->format('U = Y-m-d H:i:s') . "\n";
$newDate = $date->setTimestamp(1171502725);
echo $newDate->format('U = Y-m-d H:i:s') . "\n";
-?>
]]>
</programlisting>
- &examples.outputs.similar;
+ &example.outputs.similar;
<screen>
<![CDATA[
1272508903 = 2010-04-28 22:41:43
diff --git a/reference/datetime/datetimeimmutable/settimezone.xml b/reference/datetime/datetimeimmutable/settimezone.xml
index 46bfd9595091..a6f801f9da5a 100644
--- a/reference/datetime/datetimeimmutable/settimezone.xml
+++ b/reference/datetime/datetimeimmutable/settimezone.xml
@@ -58,7 +58,7 @@ echo $newDate->format('Y-m-d H:i:sP') . "\n";
?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
2000-01-01 00:00:00+12:00
diff --git a/reference/datetime/datetimeimmutable/sub.xml b/reference/datetime/datetimeimmutable/sub.xml
index 8c0214b4bad8..8c60a04fd360 100644
--- a/reference/datetime/datetimeimmutable/sub.xml
+++ b/reference/datetime/datetimeimmutable/sub.xml
@@ -93,7 +93,7 @@ echo $newDate->format('Y-m-d') . "\n";
?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
2000-01-10
diff --git a/reference/datetime/datetimeinterface/diff.xml b/reference/datetime/datetimeinterface/diff.xml
index 9f8c6debf07b..028ba74e8419 100644
--- a/reference/datetime/datetimeinterface/diff.xml
+++ b/reference/datetime/datetimeinterface/diff.xml
@@ -101,9 +101,14 @@ $origin = new DateTimeImmutable('2009-10-11');
$target = new DateTimeImmutable('2009-10-13');
$interval = $origin->diff($target);
echo $interval->format('%R%a days');
-?>
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
++2 days
+]]>
+ </screen>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
@@ -112,10 +117,9 @@ $origin = date_create('2009-10-11');
$target = date_create('2009-10-13');
$interval = date_diff($origin, $target);
echo $interval->format('%R%a days');
-?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
+2 days
@@ -133,7 +137,6 @@ $originalTime = new DateTimeImmutable("2021-10-30 09:00:00 Europe/London");
$targetTime = new DateTimeImmutable("2021-10-31 08:30:00 Europe/London");
$interval = $originalTime->diff($targetTime);
echo $interval->format("%H:%I:%S (Full days: %a)"), "\n";
-?>
]]>
</programlisting>
&example.outputs;
@@ -159,7 +162,6 @@ $originalTime = new DateTimeImmutable("2023-01-01 UTC");
$targetTime = new DateTimeImmutable("2023-12-31 UTC");
$interval = $originalTime->diff($targetTime);
echo "Full days: ", $interval->format("%a"), "\n";
-?>
]]>
</programlisting>
&example.outputs;
@@ -188,7 +190,6 @@ $date2 = new DateTime("tomorrow");
var_dump($date1 == $date2);
var_dump($date1 < $date2);
var_dump($date1 > $date2);
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/datetimeinterface/format.xml b/reference/datetime/datetimeinterface/format.xml
index 39a49ecbf57b..37bbc0650fc8 100644
--- a/reference/datetime/datetimeinterface/format.xml
+++ b/reference/datetime/datetimeinterface/format.xml
@@ -406,6 +406,12 @@ echo $date->format('Y-m-d H:i:s');
?>
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+2000-01-01 00:00:00
+]]>
+ </screen>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
diff --git a/reference/datetime/datetimeinterface/getoffset.xml b/reference/datetime/datetimeinterface/getoffset.xml
index ac66382e5bac..2491e26a835a 100644
--- a/reference/datetime/datetimeinterface/getoffset.xml
+++ b/reference/datetime/datetimeinterface/getoffset.xml
@@ -61,9 +61,15 @@ $summer = new DateTimeImmutable('2008-06-21', new DateTimeZone('America/New_York
echo $winter->getOffset() . "\n";
echo $summer->getOffset() . "\n";
-?>
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+-18000
+-14400
+]]>
+ </screen>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
@@ -73,10 +79,9 @@ $summer = date_create('2008-06-21', timezone_open('America/New_York'));
echo date_offset_get($winter) . "\n";
echo date_offset_get($summer) . "\n";
-?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
-18000
diff --git a/reference/datetime/datetimeinterface/gettimestamp.xml b/reference/datetime/datetimeinterface/gettimestamp.xml
index b20ed959bb2b..6d9c0d842576 100644
--- a/reference/datetime/datetimeinterface/gettimestamp.xml
+++ b/reference/datetime/datetimeinterface/gettimestamp.xml
@@ -98,19 +98,23 @@
<?php
$date = new DateTimeImmutable();
echo $date->getTimestamp();
-?>
]]>
</programlisting>
+ &example.outputs.similar;
+ <screen>
+<![CDATA[
+1272509157
+]]>
+ </screen>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
<?php
$date = date_create();
echo date_timestamp_get($date);
-?>
]]>
</programlisting>
- &examples.outputs.similar;
+ &example.outputs.similar;
<screen>
<![CDATA[
1272509157
@@ -133,10 +137,9 @@ $milli = (int) $date->format('Uv'); // Timestamp in milliseconds
$micro = (int) $date->format('Uu'); // Timestamp in microseconds
echo $milli, "\n", $micro, "\n";
-?>
]]>
</programlisting>
- &examples.outputs.similar;
+ &example.outputs.similar;
<screen>
<![CDATA[
1674057635586
diff --git a/reference/datetime/datetimeinterface/gettimezone.xml b/reference/datetime/datetimeinterface/gettimezone.xml
index 87048da0957c..f00b38626749 100644
--- a/reference/datetime/datetimeinterface/gettimezone.xml
+++ b/reference/datetime/datetimeinterface/gettimezone.xml
@@ -57,23 +57,27 @@
<programlisting role="php">
<![CDATA[
<?php
-$date = new DateTimeImmutable(null, new DateTimeZone('Europe/London'));
+$date = new DateTimeImmutable("now", new DateTimeZone('Europe/London'));
$tz = $date->getTimezone();
echo $tz->getName();
-?>
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+Europe/London
+]]>
+ </screen>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
<?php
-$date = date_create(null, timezone_open('Europe/London'));
+$date = date_create("now", timezone_open('Europe/London'));
$tz = date_timezone_get($date);
echo timezone_name_get($tz);
-?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
Europe/London
diff --git a/reference/datetime/datetimeinterface/serialize.xml b/reference/datetime/datetimeinterface/serialize.xml
index 5615dca18157..090575572e98 100644
--- a/reference/datetime/datetimeinterface/serialize.xml
+++ b/reference/datetime/datetimeinterface/serialize.xml
@@ -49,10 +49,9 @@
<?php
$date = new DateTime('2025-03-27');
var_dump(serialize($date));
-?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
string(114) "O:8:"DateTime":3:{s:4:"date";s:26:"2025-03-27 00:00:00.000000";s:13:"timezone_type";i:3;s:8:"timezone";s:3:"UTC";}"
diff --git a/reference/datetime/datetimeinterface/unserialize.xml b/reference/datetime/datetimeinterface/unserialize.xml
index f60f36c4bb9e..4af5fb5dab72 100644
--- a/reference/datetime/datetimeinterface/unserialize.xml
+++ b/reference/datetime/datetimeinterface/unserialize.xml
@@ -57,10 +57,9 @@
<?php
$serializedDate = 'O:8:"DateTime":3:{s:4:"date";s:26:"2025-03-27 00:00:00.000000";s:13:"timezone_type";i:3;s:8:"timezone";s:3:"UTC";}';
var_dump(unserialize($serializedDate));
-?>
]]>
</programlisting>
- &examples.outputs;
+ &example.outputs;
<screen>
<![CDATA[
object(DateTime)#1 (3) {
diff --git a/reference/datetime/datetimezone/construct.xml b/reference/datetime/datetimezone/construct.xml
index fe470051e11c..51c36dd7187c 100644
--- a/reference/datetime/datetimezone/construct.xml
+++ b/reference/datetime/datetimezone/construct.xml
@@ -113,17 +113,18 @@ foreach ($timezones as $tz) {
$tzo = new DateTimeZone($tz);
$local = $d->setTimezone($tzo);
- echo $local->format(DateTimeInterface::RFC2822 . ' — e'), "\n";
+ echo $local->format(DateTimeInterface::RFC2822 . ' — e') . "\n";
}
-?>
]]>
</programlisting>
&example.outputs;
<screen>
+<![CDATA[
Thu, 02 Jun 2022 16:44:48 +0100 — Europe/London
Thu, 02 Jun 2022 20:29:48 +0445 — +04:45
Thu, 02 Jun 2022 09:44:48 -0600 — -06:00
Thu, 02 Jun 2022 17:44:48 +0200 — CEST
+]]>
</screen>
</example>
</para>
@@ -140,16 +141,17 @@ $timezones = array('Europe/London', 'Mars/Phobos', 'Jupiter/Europa');
foreach ($timezones as $tz) {
try {
$mars = new DateTimeZone($tz);
+ echo $mars->getName() . "\n";
} catch(Exception $e) {
- echo $e->getMessage() . '<br />';
+ echo $e->getMessage() . "\n";
}
}
-?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
+Europe/London
DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Mars/Phobos)
DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Jupiter/Europa)
]]>
diff --git a/reference/datetime/datetimezone/getlocation.xml b/reference/datetime/datetimezone/getlocation.xml
index 095e18af0db4..98ccd021b647 100644
--- a/reference/datetime/datetimezone/getlocation.xml
+++ b/reference/datetime/datetimezone/getlocation.xml
@@ -51,7 +51,6 @@
$tz = new DateTimeZone("Asia/Jakarta");
print_r($tz->getLocation());
print_r(timezone_location_get($tz));
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/datetimezone/getoffset.xml b/reference/datetime/datetimezone/getoffset.xml
index f04365721545..f20b744b2bad 100644
--- a/reference/datetime/datetimezone/getoffset.xml
+++ b/reference/datetime/datetimezone/getoffset.xml
@@ -75,9 +75,14 @@ $timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);
// Should show int(32400) (for dates after Sat Sep 8 01:00:00 1951 JST).
var_dump($timeOffset);
-?>
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+int(32400)
+]]>
+ </screen>
</example>
</para>
</refsect1>
diff --git a/reference/datetime/datetimezone/gettransitions.xml b/reference/datetime/datetimezone/gettransitions.xml
index ed00ac7ba39c..632e41790819 100644
--- a/reference/datetime/datetimezone/gettransitions.xml
+++ b/reference/datetime/datetimezone/gettransitions.xml
@@ -128,29 +128,29 @@ Array
(
[0] => Array
(
- [ts] => -9223372036854775808
- [time] => -292277022657-01-27T08:29:52+0000
- [offset] => 3600
- [isdst] => 1
- [abbr] => BST
+ [ts] => -2147483648
+ [time] => 1901-12-13T20:45:52+00:00
+ [offset] => -75
+ [isdst] =>
+ [abbr] => LMT
)
[1] => Array
(
- [ts] => -1691964000
- [time] => 1916-05-21T02:00:00+0000
- [offset] => 3600
- [isdst] => 1
- [abbr] => BST
+ [ts] => 442304971
+ [time] => 1847-12-01T00:01:15+00:00
+ [offset] => 0
+ [isdst] =>
+ [abbr] => GMT
)
[2] => Array
(
- [ts] => -1680472800
- [time] => 1916-10-01T02:00:00+0000
- [offset] => 0
- [isdst] =>
- [abbr] => GMT
+ [ts] => -1691964000
+ [time] => 1916-05-21T02:00:00+00:00
+ [offset] => 3600
+ [isdst] => 1
+ [abbr] => BST
)
)
@@ -177,8 +177,8 @@ Array
(
[0] => Array
(
- [ts] => 1654184161
- [time] => 2022-06-02T15:36:01+0000
+ [ts] => 1759058251
+ [time] => 2025-09-28T11:17:31+00:00
[offset] => 3600
[isdst] => 1
[abbr] => BST
@@ -186,8 +186,8 @@ Array
[1] => Array
(
- [ts] => 1667091600
- [time] => 2022-10-30T01:00:00+0000
+ [ts] => 1761440400
+ [time] => 2025-10-26T01:00:00+00:00
[offset] => 0
[isdst] =>
[abbr] => GMT
@@ -195,8 +195,8 @@ Array
[2] => Array
(
- [ts] => 1679792400
- [time] => 2023-03-26T01:00:00+0000
+ [ts] => 1774746000
+ [time] => 2026-03-29T01:00:00+00:00
[offset] => 3600
[isdst] => 1
[abbr] => BST
diff --git a/reference/datetime/datetimezone/listabbreviations.xml b/reference/datetime/datetimezone/listabbreviations.xml
index 132ad1227c92..1875228ac329 100644
--- a/reference/datetime/datetimezone/listabbreviations.xml
+++ b/reference/datetime/datetimezone/listabbreviations.xml
@@ -58,7 +58,6 @@
<?php
$timezone_abbreviations = DateTimeZone::listAbbreviations();
print_r($timezone_abbreviations["acst"]);
-?>
]]>
</programlisting>
&example.outputs.similar;
@@ -68,30 +67,44 @@ Array
(
[0] => Array
(
- [dst] => 1
- [offset] => -14400
- [timezone_id] => America/Porto_Acre
+ [dst] =>
+ [offset] => 34200
+ [timezone_id] => Australia/Adelaide
)
[1] => Array
(
- [dst] => 1
- [offset] => -14400
- [timezone_id] => America/Eirunepe
+ [dst] =>
+ [offset] => 34200
+ [timezone_id] => Australia/Broken_Hill
)
[2] => Array
(
- [dst] => 1
- [offset] => -14400
- [timezone_id] => America/Rio_Branco
+ [dst] =>
+ [offset] => 34200
+ [timezone_id] => Australia/Darwin
)
[3] => Array
(
- [dst] => 1
- [offset] => -14400
- [timezone_id] => Brazil/Acre
+ [dst] =>
+ [offset] => 34200
+ [timezone_id] => Australia/North
+ )
+
+ [4] => Array
+ (
+ [dst] =>
+ [offset] => 34200
+ [timezone_id] => Australia/South
+ )
+
+ [5] => Array
+ (
+ [dst] =>
+ [offset] => 34200
+ [timezone_id] => Australia/Yancowinna
)
)
diff --git a/reference/datetime/examples.xml b/reference/datetime/examples.xml
index 1c854718c3f6..e8367cc54cb4 100644
--- a/reference/datetime/examples.xml
+++ b/reference/datetime/examples.xml
@@ -24,7 +24,6 @@ $dt = new DateTimeImmutable("2015-11-01 00:00:00", new DateTimeZone("America/New
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt = $dt->add(new DateInterval("PT3H"));
echo "End: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
-?>
]]>
</programlisting>
&example.outputs;
@@ -51,7 +50,6 @@ $dt = new DateTimeImmutable("2015-11-01 00:00:00", new DateTimeZone("America/New
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt = $dt->modify("+24 hours");
echo "End: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
-?>
]]>
</programlisting>
&example.outputs;
@@ -84,7 +82,6 @@ $dt = new DateTimeImmutable("2016-01-31 00:00:00", new DateTimeZone("America/New
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt = $dt->modify("+1 month");
echo "End: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
-?>
]]>
</programlisting>
&example.outputs;
@@ -116,7 +113,6 @@ $dt = new DateTimeImmutable("2016-01-31 00:00:00", new DateTimeZone("America/New
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt = $dt->modify("last day of next month");
echo "End: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/formats.xml b/reference/datetime/formats.xml
index 23f787b7e941..f86bd5f99c72 100644
--- a/reference/datetime/formats.xml
+++ b/reference/datetime/formats.xml
@@ -84,7 +84,6 @@
<?php
$res = date_parse("2015-09-31");
var_dump($res["warnings"]);
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/functions/checkdate.xml b/reference/datetime/functions/checkdate.xml
index 947a66c5bff8..629ed5a32cf7 100644
--- a/reference/datetime/functions/checkdate.xml
+++ b/reference/datetime/functions/checkdate.xml
@@ -71,7 +71,6 @@
<?php
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/functions/date-default-timezone-get.xml b/reference/datetime/functions/date-default-timezone-get.xml
index bfbc09e7dd58..b949851ef160 100644
--- a/reference/datetime/functions/date-default-timezone-get.xml
+++ b/reference/datetime/functions/date-default-timezone-get.xml
@@ -59,14 +59,12 @@
date_default_timezone_set('Europe/London');
if (date_default_timezone_get()) {
- echo 'date_default_timezone_set: ' . date_default_timezone_get() . '<br />';
+ echo 'date_default_timezone_set: ' . date_default_timezone_get() . "\n";
}
if (ini_get('date.timezone')) {
echo 'date.timezone: ' . ini_get('date.timezone');
}
-
-?>
]]>
</programlisting>
&example.outputs.similar;
@@ -86,7 +84,6 @@ date.timezone: Europe/London
<?php
date_default_timezone_set('America/Los_Angeles');
echo date_default_timezone_get() . ' => ' . date('e') . ' => ' . date('T');
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/functions/date-default-timezone-set.xml b/reference/datetime/functions/date-default-timezone-set.xml
index 8ba1471693ed..48d0299583cb 100644
--- a/reference/datetime/functions/date-default-timezone-set.xml
+++ b/reference/datetime/functions/date-default-timezone-set.xml
@@ -64,13 +64,13 @@
date_default_timezone_set('America/Los_Angeles');
$script_tz = date_default_timezone_get();
+$ini_tz = ini_get('date.timezone');
-if (strcmp($script_tz, ini_get('date.timezone'))){
+if (strcmp($script_tz, $ini_tz)){
echo 'Script timezone differs from ini-set timezone.';
} else {
echo 'Script timezone and ini-set timezone match.';
}
-?>
]]>
</programlisting>
</example>
diff --git a/reference/datetime/functions/date-parse-from-format.xml b/reference/datetime/functions/date-parse-from-format.xml
index f658ed5d22d3..a0da7f93996a 100644
--- a/reference/datetime/functions/date-parse-from-format.xml
+++ b/reference/datetime/functions/date-parse-from-format.xml
@@ -146,7 +146,6 @@
<?php
$date = "6.1.2009 13:00+01:00";
print_r(date_parse_from_format("j.n.Y H:iP", $date));
-?>
]]>
</programlisting>
&example.outputs;
@@ -160,7 +159,7 @@ Array
[hour] => 13
[minute] => 0
[second] => 0
- [fraction] =>
+ [fraction] => 0
[warning_count] => 0
[warnings] => Array
(
@@ -194,7 +193,6 @@ echo "Warnings count: ", $parsed['warning_count'], "\n";
foreach ($parsed['warnings'] as $position => $message) {
echo "\tOn position {$position}: {$message}\n";
}
-?>
]]>
</programlisting>
&example.outputs;
@@ -220,7 +218,6 @@ echo "Errors count: ", $parsed['error_count'], "\n";
foreach ($parsed['errors'] as $position => $message) {
echo "\tOn position {$position}: {$message}\n";
}
-?>
]]>
</programlisting>
&example.outputs;
@@ -228,7 +225,7 @@ foreach ($parsed['errors'] as $position => $message) {
<![CDATA[
Errors count: 3
On position 15: A two digit hour could not be found
- On position 19: Data missing
+ On position 19: Not enough data available to satisfy format
]]>
</screen>
</example>
diff --git a/reference/datetime/functions/date-parse.xml b/reference/datetime/functions/date-parse.xml
index edf1a602f40e..f2c33570228f 100644
--- a/reference/datetime/functions/date-parse.xml
+++ b/reference/datetime/functions/date-parse.xml
@@ -147,7 +147,6 @@
<![CDATA[
<?php
var_dump(date_parse("2006-12-12 10:00:00.5"));
-?>
]]>
</programlisting>
&example.outputs;
@@ -197,7 +196,6 @@ array(12) {
<![CDATA[
<?php
var_dump(date_parse("June 2nd, 2022, 10:28:17 BST"));
-?>
]]>
</programlisting>
&example.outputs;
@@ -248,7 +246,6 @@ array(16) {
<![CDATA[
<?php
var_dump(date_parse("June 2nd, 2022, 10:28:17 Europe/London"));
-?>
]]>
</programlisting>
&example.outputs;
@@ -301,7 +298,6 @@ array(14) {
<![CDATA[
<?php
var_dump(date_parse("June 2nd, 2022"));
-?>
]]>
</programlisting>
&example.outputs;
@@ -350,7 +346,6 @@ array(12) {
<![CDATA[
<?php
var_dump(date_parse("2006-12-12 10:00:00.5 +1 week +1 hour"));
-?>
]]>
</programlisting>
&example.outputs;
@@ -417,7 +412,6 @@ array(13) {
<![CDATA[
<?php
var_dump(date_parse("Thursday, June 2nd"));
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/functions/date-sun-info.xml b/reference/datetime/functions/date-sun-info.xml
index 4efd5dc59237..6b9a781ee1d7 100644
--- a/reference/datetime/functions/date-sun-info.xml
+++ b/reference/datetime/functions/date-sun-info.xml
@@ -179,7 +179,6 @@ $sun_info = date_sun_info(strtotime("2006-12-12"), 31.7667, 35.2333);
foreach ($sun_info as $key => $val) {
echo "$key: " . date("H:i:s", $val) . "\n";
}
-?>
]]>
</programlisting>
&example.outputs;
@@ -218,7 +217,6 @@ foreach ($si as $key => $value) {
": {$key}",
"\n";
}
-?>
]]>
</programlisting>
&example.outputs;
@@ -246,7 +244,6 @@ never: sunset
<?php
$si = date_sun_info(strtotime("2022-06-26"), 69.68, 18.94);
print_r($si);
-?>
]]>
</programlisting>
&example.outputs;
@@ -280,7 +277,6 @@ $diff = $si['sunset'] - $si['sunrise'];
echo "Length of day: ",
floor($diff / 3600), "h ",
floor(($diff % 3600) / 60), "s\n";
-?>
]]>
</programlisting>
&example.outputs;
diff --git a/reference/datetime/functions/date-sunrise.xml b/reference/datetime/functions/date-sunrise.xml
index ac4ad7b4ad5c..4223ab3c479d 100644
--- a/reference/datetime/functions/date-sunrise.xml
+++ b/reference/datetime/functions/date-sunrise.xml
@@ -220,13 +220,13 @@ offset: +1 GMT
*/
echo date("D M d Y"). ', sunrise time : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
-
-?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in script on line 10
+Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in script on line 10
Mon Dec 20 2004, sunrise time : 08:54
]]>
</screen>
@@ -238,12 +238,13 @@ Mon Dec 20 2004, sunrise time : 08:54
<?php
$solstice = strtotime('2017-12-21');
var_dump(date_sunrise($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));
-?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in script on line 3
+Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in script on line 3
bool(false)
]]>
</screen>
diff --git a/reference/datetime/functions/date-sunset.xml b/reference/datetime/functions/date-sunset.xml
index 3f6536cae5ba..a7da44a69b05 100644
--- a/reference/datetime/functions/date-sunset.xml
+++ b/reference/datetime/functions/date-sunset.xml
@@ -222,13 +222,13 @@ offset: +1 GMT
*/
echo date("D M d Y"). ', sunset time : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
-
-?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in script on line 10
+Deprecated: Function date_sunset() is deprecated since 8.1, use date_sun_info() instead in script on line 10
Mon Dec 20 2004, sunset time : 18:13
]]>
</screen>
@@ -240,12 +240,13 @@ Mon Dec 20 2004, sunset time : 18:13
<?php
$solstice = strtotime('2017-12-21');
var_dump(date_sunset($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));
-?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
+Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in script on line 3
+Deprecated: Function date_sunset() is deprecated since 8.1, use date_sun_info() instead in script on line 3
bool(false)
]]>
</screen>
diff --git a/reference/datetime/functions/date.xml b/reference/datetime/functions/date.xml
index 4bff3212903f..8d7b375b05ad 100644
--- a/reference/datetime/functions/date.xml
+++ b/reference/datetime/functions/date.xml
@@ -106,21 +106,20 @@ date_default_timezone_set('UTC');
// Prints something like: Monday
-echo date("l");
+echo date("l") . "\n";
// Prints something like: Monday 8th of August 2005 03:12:46 PM
-echo date('l jS \of F Y h:i:s A');
+echo date('l jS \of F Y h:i:s A') . "\n";
// Prints: July 1, 2000 is on a Saturday
-echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
+echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000)) . "\n";
/* use the constants in the format parameter */
// prints something like: Wed, 25 Sep 2013 15:28:57 -0700
-echo date(DATE_RFC2822);
+echo date(DATE_RFC2822) . "\n";
// prints something like: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
-?>
]]>
</programlisting>
</example>
@@ -137,35 +136,10 @@ echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
<?php
// prints something like: Wednesday the 15th
echo date('l \t\h\e jS');
-?>
]]>
</programlisting>
</example>
</para>
- <para>
- It is possible to use <function>date</function> and
- <function>mktime</function> together to find dates in the future
- or the past.
- <example>
- <title><function>date</function> and <function>mktime</function> example</title>
- <programlisting role="php">
-<![CDATA[
-<?php
-$tomorrow = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
-$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
-$nextyear = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1);
-?>
-]]>
- </programlisting>
- </example>
- <note>
- <para>
- This can be more reliable than simply adding or subtracting the number
- of seconds in a day or month to a timestamp because of daylight saving
- time.
- </para>
- </note>
- </para>
<para>
Some examples of <function>date</function> formatting. Note that
you should escape any other characters, as any which currently
@@ -180,18 +154,18 @@ $nextyear = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1);
<?php
// Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
// Mountain Standard Time (MST) Time Zone
-
-$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
-$today = date("m.d.y"); // 03.10.01
-$today = date("j, n, Y"); // 10, 3, 2001
-$today = date("Ymd"); // 20010310
-$today = date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
-$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day.
-$today = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001
-$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month
-$today = date("H:i:s"); // 17:16:18
-$today = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 (the MySQL DATETIME format)
-?>
+date_default_timezone_set("America/Phoenix");
+
+echo date("F j, Y, g:i a") . "\n"; // March 10, 2001, 5:16 pm
+echo date("m.d.y") . "\n"; // 03.10.01
+echo date("j, n, Y") . "\n"; // 10, 3, 2001
+echo date("Ymd") . "\n"; // 20010310
+echo date('h-i-s, j-m-y, it is w Day') . "\n"; // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
+echo date('\i\t \i\s \t\h\e jS \d\a\y.') . "\n"; // it is the 10th day.
+echo date("D M j G:i:s T Y") . "\n"; // Sat Mar 10 17:16:18 MST 2001
+echo date('H:m:s \m \i\s\ \m\o\n\t\h') . "\n"; // 17:03:18 m is month
+echo date("H:i:s") . "\n"; // 17:16:18
+echo date("Y-m-d H:i:s") . "\n"; // 2001-03-10 17:16:18 (the MySQL DATETIME format)
]]>
</programlisting>
</example>
diff --git a/reference/datetime/functions/getdate.xml b/reference/datetime/functions/getdate.xml
index 1a419eeecf06..8e433bcad9f4 100644
--- a/reference/datetime/functions/getdate.xml
+++ b/reference/datetime/functions/getdate.xml
@@ -150,7 +150,6 @@
<?php
$today = getdate();
print_r($today);
-?>
]]>
</programlisting>
&example.outputs.similar;
@@ -160,15 +159,15 @@ Array
(
[seconds] => 40
[minutes] => 58
- [hours] => 21
- [mday] => 17
- [wday] => 2
- [mon] => 6
- [year] => 2003
- [yday] => 167
+ [hours] => 21
+ [mday] => 17
+ [wday] => 2
+ [mon] => 6
+ [year] => 2003
+ [yday] => 167
[weekday] => Tuesday
- [month] => June
- [0] => 1055901520
+ [month] => June
+ [0] => 1055901520
)
]]>
</screen>
diff --git a/reference/datetime/functions/gettimeofday.xml b/reference/datetime/functions/gettimeofday.xml
index 25977277dd8a..6c93c0f88b96 100644
--- a/reference/datetime/functions/gettimeofday.xml
+++ b/reference/datetime/functions/gettimeofday.xml
@@ -79,7 +79,6 @@
print_r(gettimeofday());
echo gettimeofday(true);
-?>
]]>
</programlisting>
&example.outputs.similar;
@@ -92,7 +91,6 @@ Array
[minuteswest] => 0
[dsttime] => 1
)
-
1073504408.23910
]]>
</screen>
diff --git a/reference/datetime/functions/gmdate.xml b/reference/datetime/functions/gmdate.xml
index 90c4dbcab11c..9468fc66c0d0 100644
--- a/reference/datetime/functions/gmdate.xml
+++ b/reference/datetime/functions/gmdate.xml
@@ -75,18 +75,22 @@
<para>
<example>
<title><function>gmdate</function> example</title>
- <para>
- When run in Finland (GMT +0200), the first line below prints "Jan 01
- 1998 00:00:00", while the second prints "Dec 31 1997 22:00:00".
- </para>
<programlisting role="php">
<![CDATA[
<?php
-echo date("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
-echo gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
-?>
+date_default_timezone_set("Europe/Helsinki");
+
+echo date("M d Y H:i:s e", mktime(0, 0, 0, 1, 1, 1998)) . "\n";
+echo gmdate("M d Y H:i:s e", mktime(0, 0, 0, 1, 1, 1998));
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+Jan 01 1998 00:00:00 Europe/Helsinki
+Dec 31 1997 22:00:00 UTC
+]]>
+ </screen>
</example>
</para>
</refsect1>
diff --git a/reference/datetime/functions/gmmktime.xml b/reference/datetime/functions/gmmktime.xml
index 7fdd1c0e21a1..470551d9f833 100644
--- a/reference/datetime/functions/gmmktime.xml
+++ b/reference/datetime/functions/gmmktime.xml
@@ -151,11 +151,17 @@
<programlisting role="php">
<![CDATA[
<?php
-// Prints: July 1, 2000 is on a Saturday
+date_default_timezone_set("Indian/Maldives");
+
echo "July 1, 2000 is on a " . date("l", gmmktime(0, 0, 0, 7, 1, 2000));
-?>
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+July 1, 2000 is on a Saturday
+]]>
+ </screen>
</example>
</para>
</refsect1>
diff --git a/reference/datetime/functions/gmstrftime.xml b/reference/datetime/functions/gmstrftime.xml
index e4102e6274bb..19f16fcf53c4 100644
--- a/reference/datetime/functions/gmstrftime.xml
+++ b/reference/datetime/functions/gmstrftime.xml
@@ -102,7 +102,6 @@
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
echo gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
-?>
]]>
</programlisting>
</example>
diff --git a/reference/datetime/functions/idate.xml b/reference/datetime/functions/idate.xml
index 4cff3c0e30f9..90d86d4d61a8 100644
--- a/reference/datetime/functions/idate.xml
+++ b/reference/datetime/functions/idate.xml
@@ -196,15 +196,24 @@
<programlisting role="php">
<![CDATA[
<?php
-$timestamp = strtotime('1st January 2004'); //1072915200
+$timestamp = strtotime('1st January 2004'); // 1072915200
// this prints the year in a two digit format
// however, as this would start with a "0", it
// only prints "4"
+echo idate('y', $timestamp) . "\n";
+
+$timestamp = strtotime('1st January 2024'); // 1704067200
echo idate('y', $timestamp);
-?>
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+4
+24
+]]>
+ </screen>
</example>
</para>
</refsect1>
diff --git a/reference/datetime/functions/localtime.xml b/reference/datetime/functions/localtime.xml
index f89b3b7b1a18..c2abc514e4b4 100644
--- a/reference/datetime/functions/localtime.xml
+++ b/reference/datetime/functions/localtime.xml
@@ -148,7 +148,6 @@ $localtime = localtime();
$localtime_assoc = localtime(time(), true);
print_r($localtime);
print_r($localtime_assoc);
-?>
]]>
</programlisting>
&example.outputs.similar;
diff --git a/reference/datetime/functions/microtime.xml b/reference/datetime/functions/microtime.xml
index 73413d84955d..3b6c052076eb 100644
--- a/reference/datetime/functions/microtime.xml
+++ b/reference/datetime/functions/microtime.xml
@@ -68,30 +68,28 @@
$time_start = microtime(true);
// Sleep for a while
-usleep(100);
+usleep(10_000);
$time_end = microtime(true);
$time = $time_end - $time_start;
-echo "Did nothing in $time seconds\n";
-?>
+print "Did nothing in $time seconds\n";
]]>
</programlisting>
</example>
<example>
<title><function>microtime</function> and <literal>REQUEST_TIME_FLOAT</literal></title>
- <programlisting role="php">
+ <programlisting role="php" annotations="non-interactive">
<![CDATA[
<?php
// Randomize sleeping time
-usleep(mt_rand(100, 10000));
+usleep(random_int(10_000, 1_000_000));
// REQUEST_TIME_FLOAT is available in the $_SERVER superglobal array.
// It contains the timestamp of the start of the request with microsecond precision.
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
echo "Did nothing in $time seconds\n";
-?>
]]>
</programlisting>
</example>
diff --git a/reference/datetime/functions/mktime.xml b/reference/datetime/functions/mktime.xml
index 5a05625e8753..5ffdaa5ea933 100644
--- a/reference/datetime/functions/mktime.xml
+++ b/reference/datetime/functions/mktime.xml
@@ -170,13 +170,19 @@
date_default_timezone_set('UTC');
// Prints: July 1, 2000 is on a Saturday
-echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
+echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000)) . "\n";
// Prints something like: 2006-04-05T01:02:03+00:00
-echo date('c', mktime(1, 2, 3, 4, 5, 2006));
-?>
+echo date('c', mktime(1, 2, 3, 4, 5, 2006)) . "\n";
]]>
</programlisting>
+ &example.outputs.similar;
+ <screen>
+<![CDATA[
+July 1, 2000 is on a Saturday
+2006-04-05T01:02:03+00:00
+]]>
+ </screen>
</example>
</para>
<para>
@@ -191,14 +197,59 @@ echo date('c', mktime(1, 2, 3, 4, 5, 2006));
<programlisting role="php">
<![CDATA[
<?php
-echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
-echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
-echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
-echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
-?>
+date_default_timezone_set('America/New_York');
+
+echo date("c", mktime(0, 0, 0, 12, 32, 1997)) . "\n";
+echo date("c", mktime(0, 0, 0, 13, 1, 1997)) . "\n";
+echo date("c", mktime(0, 0, 0, 1, 1, 1998)) . "\n";
+echo date("c", mktime(0, 0, 0, 1, 1, 98)) . "\n";
+]]>
+ </programlisting>
+ &example.outputs.similar;
+ <screen>
+<![CDATA[
+1998-01-01T00:00:00-05:00
+1998-01-01T00:00:00-05:00
+1998-01-01T00:00:00-05:00
+1998-01-01T00:00:00-05:00
+]]>
+ </screen>
+ </example>
+ </para>
+ <para>
+ <example>
+ <title>Using mktime to find relative dates</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+date_default_timezone_set('Asia/Tokyo');
+
+$tomorrow = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
+print date('c', $tomorrow) . "\n";
+
+$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
+print date('c', $lastmonth) . "\n";
+
+$nextyear = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1) . "\n";
+print date('c', $nextyear) . "\n";
]]>
</programlisting>
+ &example.outputs.similar;
+ <screen>
+<![CDATA[
+2025-09-30T00:00:00+09:00
+2025-08-29T00:00:00+09:00
+2026-09-29T00:00:00+09:00
+]]>
+ </screen>
</example>
+ <note>
+ <para>
+ This can be more reliable than simply adding or subtracting the number
+ of seconds in a day or month to a timestamp because of daylight saving
+ time.
+ </para>
+ </note>
</para>
<para>
<example>
@@ -213,14 +264,19 @@ echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
<?php
$lastday = mktime(0, 0, 0, 3, 0, 2000);
-echo 'Last day in Feb 2000 is: ', date('d', $lastday);
+echo 'Last day in Feb 2000 is: ', date('d', $lastday) . "\n";
$lastday = mktime(0, 0, 0, 4, -31, 2000);
-echo 'Last day in Feb 2000 is: ', date('d', $lastday);
-
-?>
+echo 'Last day in Feb 2000 is: ', date('d', $lastday) . "\n";
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+Last day in Feb 2000 is: 29
+Last day in Feb 2000 is: 29
+]]>
+ </screen>
</example>
</para>
</refsect1>
diff --git a/reference/datetime/functions/strftime.xml b/reference/datetime/functions/strftime.xml
index a143921b194f..07a39f3b4b8c 100644
--- a/reference/datetime/functions/strftime.xml
+++ b/reference/datetime/functions/strftime.xml
@@ -421,7 +421,7 @@
in your system.
<example>
<title><function>strftime</function> locale examples</title>
- <programlisting role="php">
+ <programlisting role="php" annotations="non-interactive">
<![CDATA[
<?php
setlocale(LC_TIME, "C");
@@ -432,7 +432,6 @@ setlocale(LC_TIME, "fr_FR");
echo strftime(" in French %A and");
setlocale(LC_TIME, "de_DE");
echo strftime(" in German %A.\n");
-?>
]]>
</programlisting>
</example>
@@ -486,8 +485,6 @@ echo "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n
// Outputs: 1/3/2005 - %V,%G,%Y = 1,2005,2005
echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";
-
-?>
]]>
</programlisting>
</example>
@@ -509,7 +506,6 @@ if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
}
echo strftime($format);
-?>
]]>
</programlisting>
</example>
@@ -600,8 +596,6 @@ foreach ($strftimeValues as $format => $value) {
foreach (array_diff_key($strftimeFormats, $strftimeValues) as $format => $description) {
echo "Unknown format : '{$format}' ", str_pad(' ', $maxValueLength), ($description ? " ( {$description} )" : ''), "\n";
}
-
-?>
]]>
</programlisting>
&example.outputs.similar;
diff --git a/reference/datetime/functions/strptime.xml b/reference/datetime/functions/strptime.xml
index b4e3de531548..4b622f8d8207 100644
--- a/reference/datetime/functions/strptime.xml
+++ b/reference/datetime/functions/strptime.xml
@@ -164,7 +164,6 @@ $strf = strftime($format);
echo "$strf\n";
print_r(strptime($strf, $format));
-?>
]]>
</programlisting>
&example.outputs.similar;
diff --git a/reference/datetime/functions/strtotime.xml b/reference/datetime/functions/strtotime.xml
index ad8a33c2a048..74b4360b1bc6 100644
--- a/reference/datetime/functions/strtotime.xml
+++ b/reference/datetime/functions/strtotime.xml
@@ -115,7 +115,6 @@ echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
-?>
]]>
</programlisting>
</example>
@@ -133,7 +132,6 @@ if (($timestamp = strtotime($str)) === false) {
} else {
echo "$str == " . date('l dS \o\f F Y h:i:s A', $timestamp);
}
-?>
]]>
</programlisting>
</example>
diff --git a/reference/datetime/functions/time.xml b/reference/datetime/functions/time.xml
index 500de7170f70..4757c27c107b 100644
--- a/reference/datetime/functions/time.xml
+++ b/reference/datetime/functions/time.xml
@@ -48,7 +48,6 @@
<![CDATA[
<?php
echo 'Now: '. time();
-?>
]]>
</programlisting>
&example.outputs.similar;
diff --git a/reference/datetime/functions/timezone-name-from-abbr.xml b/reference/datetime/functions/timezone-name-from-abbr.xml
index bc0fbd1c1da2..e2e4b2b87531 100644
--- a/reference/datetime/functions/timezone-name-from-abbr.xml
+++ b/reference/datetime/functions/timezone-name-from-abbr.xml
@@ -75,7 +75,6 @@
<?php
echo timezone_name_from_abbr("CET") . "\n";
echo timezone_name_from_abbr("", 3600, 0) . "\n";
-?>
]]>
</programlisting>
&example.outputs.similar;
diff --git a/reference/datetime/functions/timezone-version-get.xml b/reference/datetime/functions/timezone-version-get.xml
index a1f15260043d..81e1ca319931 100644
--- a/reference/datetime/functions/timezone-version-get.xml
+++ b/reference/datetime/functions/timezone-version-get.xml
@@ -53,7 +53,6 @@
<![CDATA[
<?php
echo timezone_version_get();
-?>
]]>
</programlisting>
&example.outputs.similar;