reference/datetime/datetime/modify.xml
4cd196cb84cb840d2580804e39d3a5dc4682e312
...
...
@@ -1,6 +1,5 @@
1
1
<?xml version="1.0" encoding="utf-8"?>
2
2
<!-- $Revision$ -->
3
-

4
3
<refentry xml:id="datetime.modify" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
5
4
<refnamediv>
6
5
<refname>DateTime::modify</refname>
...
...
@@ -11,19 +10,19 @@
11
10
<refsect1 role="description">
12
11
&reftitle.description;
13
12
<para>&style.oop;</para>
14
-
<methodsynopsis role="oop">
15
-
<modifier>public</modifier> <type>DateTime</type><methodname>DateTime::modify</methodname>
16
-
<methodparam><type>string</type><parameter>modify</parameter></methodparam>
13
+
<methodsynopsis role="DateTime">
14
+
<modifier>public</modifier> <type class="union"><type>DateTime</type><type>false</type></type><methodname>DateTime::modify</methodname>
15
+
<methodparam><type>string</type><parameter>modifier</parameter></methodparam>
17
16
</methodsynopsis>
18
17
<para>&style.procedural;</para>
19
-
<methodsynopsis role="procedural">
20
-
<type>DateTime</type><methodname>date_modify</methodname>
18
+
<methodsynopsis>
19
+
<type class="union"><type>DateTime</type><type>false</type></type><methodname>date_modify</methodname>
21
20
<methodparam><type>DateTime</type><parameter>object</parameter></methodparam>
22
-
<methodparam><type>string</type><parameter>modify</parameter></methodparam>
21
+
<methodparam><type>string</type><parameter>modifier</parameter></methodparam>
23
22
</methodsynopsis>
24
23
<para>
25
24
Alter the timestamp of a DateTime object by incrementing or decrementing in a
26
-
format accepted by <function>strtotime</function>.
25
+
format accepted by <function>DateTimeImmutable::__construct</function>.
27
26
</para>
28
27
</refsect1>
29
28

...
...
@@ -32,7 +31,7 @@
32
31
<variablelist>
33
32
&date.datetime.description.modified;
34
33
<varlistentry>
35
-
<term><parameter>modify</parameter></term>
34
+
<term><parameter>modifier</parameter></term>
36
35
<listitem>
37
36
<para>&date.formats.parameter;</para>
38
37
</listitem>
...
...
@@ -47,6 +46,14 @@
47
46
</para>
48
47
</refsect1>
49
48

49
+
<refsect1 role="errors">
50
+
&reftitle.errors;
51
+
<para>
52
+
Object Orientated API only: If an invalid Date/Time string is passed,
53
+
<exceptionname>DateMalformedStringException</exceptionname> is thrown.
54
+
</para>
55
+
</refsect1>
56
+

50
57
<refsect1 role="changelog">
51
58
&reftitle.changelog;
52
59
<informaltable>
...
...
@@ -59,13 +66,15 @@
59
66
</thead>
60
67
<tbody>
61
68
<row>
62
-
<entry>5.3.6</entry>
69
+
<entry>8.3.0</entry>
63
70
<entry>
64
-
Absolute date/time statements now take effect.
65
-
Previously, only relative parts were used.
71
+
Now throws
72
+
<exceptionname>DateMalformedStringException</exceptionname> with
73
+
<methodname>DateTime::modify</methodname> if an invalid string is
74
+
passed, instead of a warning.
75
+
<function>date_modify</function> has not been changed.
66
76
</entry>
67
77
</row>
68
-
&date.datetime.retval.changelog;
69
78
</tbody>
70
79
</tgroup>
71
80
</informaltable>
...
...
@@ -125,12 +134,40 @@ echo $date->format('Y-m-d') . "\n";
125
134
]]>
126
135
</screen>
127
136
</example>
137
+
<example>
138
+
<title>All formats of Date and Time are supported</title>
139
+
<programlisting role="php">
140
+
<![CDATA[
141
+
<?php
142
+
$date = new DateTime('2020-12-31');
143
+

144
+
$date->modify('July 1st, 2023');
145
+
echo $date->format('Y-m-d H:i') . "\n";
146
+

147
+
$date->modify('Monday next week');
148
+
echo $date->format('Y-m-d H:i') . "\n";
149
+

150
+
$date->modify('17:30');
151
+
echo $date->format('Y-m-d H:i') . "\n";
152
+
?>
153
+
]]>
154
+
</programlisting>
155
+
&example.outputs;
156
+
<screen>
157
+
<![CDATA[
158
+
2023-07-01 00:00
159
+
2023-07-03 00:00
160
+
2023-07-03 17:30
161
+
]]>
162
+
</screen>
163
+
</example>
128
164
</refsect1>
129
165

130
166
<refsect1 role="seealso">
131
167
&reftitle.seealso;
132
168
<simplelist>
133
169
<member><function>strtotime</function></member>
170
+
<member><function>DateTimeImmutable::modify</function></member>
134
171
<member><function>DateTime::add</function></member>
135
172
<member><function>DateTime::sub</function></member>
136
173
<member><function>DateTime::setDate</function></member>
...
...
@@ -141,7 +178,6 @@ echo $date->format('Y-m-d') . "\n";
141
178
</refsect1>
142
179

143
180
</refentry>
144
-

145
181
<!-- Keep this comment at the end of the file
146
182
Local variables:
147
183
mode: sgml
148
184