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

4
3
<phpdoc:classref xml:id="class.datetime" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
5
4

6
5
<title>The DateTime class</title>
...
...
@@ -14,6 +13,21 @@
14
13
<para>
15
14
Representation of date and time.
16
15
</para>
16
+
<para>
17
+
This class behaves the same as <classname>DateTimeImmutable</classname>,
18
+
except objects are modified itself when modification methods such as
19
+
<function>DateTime::modify</function> are called.
20
+
</para>
21
+
<warning>
22
+
<para>
23
+
Calling methods on objects of the class <classname>DateTime</classname>
24
+
will change the information encapsulated in these objects, if you want to
25
+
prevent that you will have to use <literal>clone</literal> operator to
26
+
create a new object. Use <classname>DateTimeImmutable</classname>
27
+
instead of <classname>DateTime</classname> to obtain this recommended
28
+
behaviour by default.
29
+
</para>
30
+
</warning>
17
31
</section>
18
32
<!-- }}} -->
19
33

...
...
@@ -21,234 +35,36 @@
21
35
&reftitle.classsynopsis;
22
36

23
37
<!-- {{{ Synopsis -->
24
-
<classsynopsis>
25
-
<ooclass><classname>DateTime</classname></ooclass>
26
-

27
-
<!-- {{{ Class synopsis -->
28
-
<classsynopsisinfo>
29
-
<ooclass>
30
-
<classname>DateTime</classname>
31
-
</ooclass>
32
-
<oointerface>
33
-
<interfacename>DateTimeInterface</interfacename>
34
-
</oointerface>
35
-
</classsynopsisinfo>
36
-
<!-- }}} -->
37
-
<classsynopsisinfo role="comment">&Constants;</classsynopsisinfo>
38
-
<fieldsynopsis>
39
-
<modifier>const</modifier>
40
-
<type>string</type>
41
-
<varname linkend="datetime.constants.atom">DateTime::ATOM</varname>
42
-
<initializer>"Y-m-d\TH:i:sP"</initializer>
43
-
</fieldsynopsis>
44
-
<fieldsynopsis>
45
-
<modifier>const</modifier>
46
-
<type>string</type>
47
-
<varname linkend="datetime.constants.cookie">DateTime::COOKIE</varname>
48
-
<initializer>"l, d-M-Y H:i:s T"</initializer>
49
-
</fieldsynopsis>
50
-
<fieldsynopsis>
51
-
<modifier>const</modifier>
52
-
<type>string</type>
53
-
<varname linkend="datetime.constants.iso8601">DateTime::ISO8601</varname>
54
-
<initializer>"Y-m-d\TH:i:sO"</initializer>
55
-
</fieldsynopsis>
56
-
<fieldsynopsis>
57
-
<modifier>const</modifier>
58
-
<type>string</type>
59
-
<varname linkend="datetime.constants.rfc822">DateTime::RFC822</varname>
60
-
<initializer>"D, d M y H:i:s O"</initializer>
61
-
</fieldsynopsis>
62
-
<fieldsynopsis>
63
-
<modifier>const</modifier>
64
-
<type>string</type>
65
-
<varname linkend="datetime.constants.rfc850">DateTime::RFC850</varname>
66
-
<initializer>"l, d-M-y H:i:s T"</initializer>
67
-
</fieldsynopsis>
68
-
<fieldsynopsis>
69
-
<modifier>const</modifier>
70
-
<type>string</type>
71
-
<varname linkend="datetime.constants.rfc1036">DateTime::RFC1036</varname>
72
-
<initializer>"D, d M y H:i:s O"</initializer>
73
-
</fieldsynopsis>
74
-
<fieldsynopsis>
75
-
<modifier>const</modifier>
76
-
<type>string</type>
77
-
<varname linkend="datetime.constants.rfc1123">DateTime::RFC1123</varname>
78
-
<initializer>"D, d M Y H:i:s O"</initializer>
79
-
</fieldsynopsis>
80
-
<fieldsynopsis>
81
-
<modifier>const</modifier>
82
-
<type>string</type>
83
-
<varname linkend="datetime.constants.rfc2822">DateTime::RFC2822</varname>
84
-
<initializer>"D, d M Y H:i:s O"</initializer>
85
-
</fieldsynopsis>
86
-
<fieldsynopsis>
87
-
<modifier>const</modifier>
88
-
<type>string</type>
89
-
<varname linkend="datetime.constants.rfc3339">DateTime::RFC3339</varname>
90
-
<initializer>"Y-m-d\TH:i:sP"</initializer>
91
-
</fieldsynopsis>
92
-
<fieldsynopsis>
93
-
<modifier>const</modifier>
94
-
<type>string</type>
95
-
<varname linkend="datetime.constants.rss">DateTime::RSS</varname>
96
-
<initializer>"D, d M Y H:i:s O"</initializer>
97
-
</fieldsynopsis>
98
-
<fieldsynopsis>
99
-
<modifier>const</modifier>
100
-
<type>string</type>
101
-
<varname linkend="datetime.constants.w3c">DateTime::W3C</varname>
102
-
<initializer>"Y-m-d\TH:i:sP"</initializer>
103
-
</fieldsynopsis>
38
+
<classsynopsis class="class">
39
+
<ooclass>
40
+
<classname>DateTime</classname>
41
+
</ooclass>
42
+

43
+
<oointerface>
44
+
<modifier>implements</modifier>
45
+
<interfacename>DateTimeInterface</interfacename>
46
+
</oointerface>
47
+

48
+
<classsynopsisinfo role="comment">&InheritedConstants;</classsynopsisinfo>
49
+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetimeinterface')/db:partintro/db:section/db:classsynopsis/db:fieldsynopsis[preceding-sibling::db:classsynopsisinfo[1][@role='comment' and text()='&Constants;']]))">
50
+
<xi:fallback/>
51
+
</xi:include>
104
52

105
53
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
106
-
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetime')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[not(@role='procedural')])">
107
-
<xi:fallback />
54
+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetime')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[@role='DateTime'])">
55
+
<xi:fallback/>
108
56
</xi:include>
109
-
<!--
110
-
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetime')/db:refentry/db:refsect1[@role='description']/descendant::db:destructorsynopsis[not(@role='procedural')])">
111
-
<xi:fallback />
57
+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetime')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='DateTime'])">
58
+
<xi:fallback/>
112
59
</xi:include>
113
-
-->
114
-
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetime')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])">
115
-
<xi:fallback />
116
-
</xi:include>
117
-
118
-
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetimeinterface')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='oop'])" />
119
-

120
-
</classsynopsis>
60
+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.datetimeinterface')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='DateTime'])">
61
+
<xi:fallback/>
62
+
</xi:include>
63
+
</classsynopsis>
121
64
<!-- }}} -->
122
65

123
66
</section>
124
67
125
-
<!-- {{{ DateTime constants -->
126
-
<section xml:id="datetime.constants.types">
127
-
&reftitle.constants;
128
-
<variablelist>
129
-
<varlistentry xml:id="datetime.constants.atom">
130
-
<term><constant>DateTime::ATOM</constant></term>
131
-
<term><constant>DATE_ATOM</constant></term>
132
-
<listitem>
133
-
<simpara>
134
-
Atom (example: 2005-08-15T15:52:01+00:00)
135
-
</simpara>
136
-
</listitem>
137
-
</varlistentry>
138
-

139
-
<varlistentry xml:id="datetime.constants.cookie">
140
-
<term><constant>DateTime::COOKIE</constant></term>
141
-
<term><constant>DATE_COOKIE</constant></term>
142
-
<listitem>
143
-
<simpara>
144
-
HTTP Cookies (example: Monday, 15-Aug-2005 15:52:01 UTC)
145
-
</simpara>
146
-
</listitem>
147
-
</varlistentry>
148
-

149
-
<varlistentry xml:id="datetime.constants.iso8601">
150
-
<term><constant>DateTime::ISO8601</constant></term>
151
-
<term><constant>DATE_ISO8601</constant></term>
152
-
<listitem>
153
-
<simpara>
154
-
ISO-8601 (example: 2005-08-15T15:52:01+0000)
155
-
</simpara>
156
-
<note>
157
-
<simpara>
158
-
This format is not compatible with ISO-8601, but is left this way for
159
-
backward compatibility reasons. Use <constant>DateTime::ATOM</constant>
160
-
or <constant>DATE_ATOM</constant> for compatibility with ISO-8601
161
-
instead.
162
-
</simpara>
163
-
</note>
164
-
</listitem>
165
-
</varlistentry>
166
-

167
-
<varlistentry xml:id="datetime.constants.rfc822">
168
-
<term><constant>DateTime::RFC822</constant></term>
169
-
<term><constant>DATE_RFC822</constant></term>
170
-
<listitem>
171
-
<simpara>
172
-
RFC 822 (example: Mon, 15 Aug 05 15:52:01 +0000)
173
-
</simpara>
174
-
</listitem>
175
-
</varlistentry>
176
-

177
-
<varlistentry xml:id="datetime.constants.rfc850">
178
-
<term><constant>DateTime::RFC850</constant></term>
179
-
<term><constant>DATE_RFC850</constant></term>
180
-
<listitem>
181
-
<simpara>
182
-
RFC 850 (example: Monday, 15-Aug-05 15:52:01 UTC)
183
-
</simpara>
184
-
</listitem>
185
-
</varlistentry>
186
-

187
-
<varlistentry xml:id="datetime.constants.rfc1036">
188
-
<term><constant>DateTime::RFC1036</constant></term>
189
-
<term><constant>DATE_RFC1036</constant></term>
190
-
<listitem>
191
-
<simpara>
192
-
RFC 1036 (example: Mon, 15 Aug 05 15:52:01 +0000)
193
-
</simpara>
194
-
</listitem>
195
-
</varlistentry>
196
-

197
-
<varlistentry xml:id="datetime.constants.rfc1123">
198
-
<term><constant>DateTime::RFC1123</constant></term>
199
-
<term><constant>DATE_RFC1123</constant></term>
200
-
<listitem>
201
-
<simpara>
202
-
RFC 1123 (example: Mon, 15 Aug 2005 15:52:01 +0000)
203
-
</simpara>
204
-
</listitem>
205
-
</varlistentry>
206
-

207
-
<varlistentry xml:id="datetime.constants.rfc2822">
208
-
<term><constant>DateTime::RFC2822</constant></term>
209
-
<term><constant>DATE_RFC2822</constant></term>
210
-
<listitem>
211
-
<simpara>
212
-
RFC 2822 (example: Mon, 15 Aug 2005 15:52:01 +0000)
213
-
</simpara>
214
-
</listitem>
215
-
</varlistentry>
216
-

217
-
<varlistentry xml:id="datetime.constants.rfc3339">
218
-
<term><constant>DateTime::RFC3339</constant></term>
219
-
<term><constant>DATE_RFC3339</constant></term>
220
-
<listitem>
221
-
<simpara>
222
-
Same as <constant>DATE_ATOM</constant> (since PHP 5.1.3)
223
-
</simpara>
224
-
</listitem>
225
-
</varlistentry>
226
-

227
-
<varlistentry xml:id="datetime.constants.rss">
228
-
<term><constant>DateTime::RSS</constant></term>
229
-
<term><constant>DATE_RSS</constant></term>
230
-
<listitem>
231
-
<simpara>
232
-
RSS (example: Mon, 15 Aug 2005 15:52:01 +0000)
233
-
</simpara>
234
-
</listitem>
235
-
</varlistentry>
236
-

237
-
<varlistentry xml:id="datetime.constants.w3c">
238
-
<term><constant>DateTime::W3C</constant></term>
239
-
<term><constant>DATE_W3C</constant></term>
240
-
<listitem>
241
-
<simpara>
242
-
World Wide Web Consortium (example: 2005-08-15T15:52:01+00:00)
243
-
</simpara>
244
-
</listitem>
245
-
</varlistentry>
246
-

247
-
</variablelist>
248
-
</section>
249
-
<!-- }}} -->
250
-

251
-

252
68
<section role="changelog" xml:id="datetime.changelog"><!-- {{{ -->
253
69
&reftitle.changelog;
254
70
<para>
...
...
@@ -262,25 +78,18 @@
262
78
</thead>
263
79
<tbody>
264
80
<row>
265
-
<entry>5.5.0</entry>
81
+
<entry>7.2.0</entry>
266
82
<entry>
267
-
The class now implements <classname>DateTimeInterface</classname>.
83
+
The class constants of <classname>DateTime</classname> are now defined
84
+
on <classname>DateTimeInterface</classname>.
268
85
</entry>
269
86
</row>
270
87
<row>
271
-
<entry>5.4.24</entry>
88
+
<entry>7.1.0</entry>
272
89
<entry>
273
-
The COOKIE constant was changed to reflect RFC 1036 using a four digit
274
-
year rather than a two digit year (RFC 850) as prior versions.
275
-
</entry>
276
-
</row>
277
-
<row>
278
-
<entry>5.2.2</entry>
279
-
<entry>
280
-
DateTime object comparison with the
281
-
<link linkend="language.operators.comparison">comparison operators</link>
282
-
changed to work as expected. Previously, all DateTime objects were
283
-
considered equal (using <literal>==</literal>).
90
+
The <classname>DateTime</classname> constructor now includes the
91
+
current microseconds in the constructed value. Before this, it would
92
+
always initialise the microseconds to <literal>0</literal>.
284
93
</entry>
285
94
</row>
286
95
</tbody>
...
...
@@ -295,7 +104,6 @@
295
104
&reference.datetime.entities.datetime;
296
105

297
106
</phpdoc:classref>
298
-

299
107
<!-- Keep this comment at the end of the file
300
108
Local variables:
301
109
mode: sgml
302
110