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

4
3
<refentry xml:id="datetimeimmutable.setisodate" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
5
4
<refnamediv>
6
5
<refname>DateTimeImmutable::setISODate</refname>
...
...
@@ -9,20 +8,151 @@
9
8

10
9
<refsect1 role="description">
11
10
&reftitle.description;
12
-
<methodsynopsis role="oop">
11
+
<methodsynopsis role="DateTimeImmutable">
13
12
<modifier>public</modifier> <type>DateTimeImmutable</type><methodname>DateTimeImmutable::setISODate</methodname>
14
13
<methodparam><type>int</type><parameter>year</parameter></methodparam>
15
14
<methodparam><type>int</type><parameter>week</parameter></methodparam>
16
-
<methodparam choice="opt"><type>int</type><parameter>day</parameter><initializer>1</initializer></methodparam>
15
+
<methodparam choice="opt"><type>int</type><parameter>dayOfWeek</parameter><initializer>1</initializer></methodparam>
17
16
</methodsynopsis>
18
17
<para>
19
-
Like <methodname>DateTime::setISODate</methodname> but works with
20
-
<classname>DateTimeImmutable</classname>.
18
+
Returns a new DateTimeImmutable object with the date set according to the
19
+
ISO 8601 standard - using weeks and day offsets rather than specific dates.
21
20
</para>
22
21
</refsect1>
23
22

24
-
</refentry>
23
+
<refsect1 role="parameters">
24
+
&reftitle.parameters;
25
+
<variablelist>
26
+
<varlistentry>
27
+
<term><parameter>year</parameter></term>
28
+
<listitem>
29
+
<para>
30
+
Year of the date.
31
+
</para>
32
+
</listitem>
33
+
</varlistentry>
34
+
<varlistentry>
35
+
<term><parameter>week</parameter></term>
36
+
<listitem>
37
+
<para>
38
+
Week of the date.
39
+
</para>
40
+
</listitem>
41
+
</varlistentry>
42
+
<varlistentry>
43
+
<term><parameter>dayOfWeek</parameter></term>
44
+
<listitem>
45
+
<para>
46
+
Offset from the first day of the week.
47
+
</para>
48
+
</listitem>
49
+
</varlistentry>
50
+
</variablelist>
51
+
</refsect1>
52
+

53
+
<refsect1 role="returnvalues">
54
+
&reftitle.returnvalues;
55
+
<para>
56
+
&date.datetimeimmutable.return.modifiedobject;
57
+
</para>
58
+
</refsect1>
59
+

60
+
<refsect1 role="examples">
61
+
&reftitle.examples;
62
+
<example>
63
+
<title><function>DateTimeImmutable::setISODate</function> example</title>
64
+
<para>&style.oop;</para>
65
+
<programlisting role="php">
66
+
<![CDATA[
67
+
<?php
68
+
$date = new DateTimeImmutable();
69
+

70
+
$date->setISODate(2008, 2);
71
+
echo $date->format('Y-m-d') . "\n";
72
+

73
+
$date->setISODate(2008, 2, 7);
74
+
echo $date->format('Y-m-d') . "\n";
75
+
?>
76
+
]]>
77
+
</programlisting>
78
+
<para>&style.procedural;</para>
79
+
<programlisting role="php">
80
+
<![CDATA[
81
+
<?php
82
+
$date = date_create();
25
83

84
+
date_isodate_set($date, 2008, 2);
85
+
echo date_format($date, 'Y-m-d') . "\n";
86
+

87
+
date_isodate_set($date, 2008, 2, 7);
88
+
echo date_format($date, 'Y-m-d') . "\n";
89
+
?>
90
+
]]>
91
+
</programlisting>
92
+
&examples.outputs;
93
+
<screen>
94
+
<![CDATA[
95
+
2008-01-07
96
+
2008-01-13
97
+
]]>
98
+
</screen>
99
+
</example>
100
+
<example>
101
+
<title>Values exceeding ranges are added to their parent values</title>
102
+
<programlisting role="php">
103
+
<![CDATA[
104
+
<?php
105
+
$date = new DateTimeImmutable();
106
+

107
+
$newDate = $date->setISODate(2008, 2, 7);
108
+
echo $newDate->format('Y-m-d') . "\n";
109
+

110
+
$newDate = $date->setISODate(2008, 2, 8);
111
+
echo $newDate->format('Y-m-d') . "\n";
112
+

113
+
$newDate = $date->setISODate(2008, 53, 7);
114
+
echo $newDate->format('Y-m-d') . "\n";
115
+
?>
116
+
]]>
117
+
</programlisting>
118
+
&example.outputs;
119
+
<screen>
120
+
<![CDATA[
121
+
2008-01-13
122
+
2008-01-14
123
+
2009-01-04
124
+
]]>
125
+
</screen>
126
+
</example>
127
+
<example>
128
+
<title>Finding the month a week is in</title>
129
+
<programlisting role="php">
130
+
<![CDATA[
131
+
<?php
132
+
$date = new DateTimeImmutable();
133
+
$newDate = $date->setISODate(2008, 14);
134
+
echo $newDate->format('n');
135
+
?>
136
+
]]>
137
+
</programlisting>
138
+
&examples.outputs;
139
+
<screen>
140
+
<![CDATA[
141
+
3
142
+
]]>
143
+
</screen>
144
+
</example>
145
+
</refsect1>
146
+

147
+
<refsect1 role="seealso">
148
+
&reftitle.seealso;
149
+
<simplelist>
150
+
<member><function>DateTimeImmutable::setDate</function></member>
151
+
<member><function>DateTimeImmutable::setTime</function></member>
152
+
</simplelist>
153
+
</refsect1>
154
+

155
+
</refentry>
26
156
<!-- Keep this comment at the end of the file
27
157
Local variables:
28
158
mode: sgml
29
159