-
Notifications
You must be signed in to change notification settings - Fork 58
/
sub.xml
182 lines (170 loc) · 4.64 KB
/
sub.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: d7b51f68698544fb3e0384693809fe2aafa9c69e Maintainer: takagi Status: ready -->
<refentry xml:id="datetimeimmutable.sub" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>DateTimeImmutable::sub</refname>
<refpurpose>
年月日時分秒の値を引く
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="DateTimeImmutable">
<modifier>public</modifier> <type>DateTimeImmutable</type><methodname>DateTimeImmutable::sub</methodname>
<methodparam><type>DateInterval</type><parameter>interval</parameter></methodparam>
</methodsynopsis>
<para>
指定した <classname>DateInterval</classname> オブジェクトを、
指定した DateTimeImmutable オブジェクトから引き、
新しい <classname>DateTimeImmutable</classname> オブジェクトを返します。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term>
<parameter>interval</parameter>
</term>
<listitem>
<para>
<classname>DateInterval</classname> オブジェクト。
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&date.datetimeimmutable.return.modifiedobject;
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
サポートされていない操作を試みた場合、
<exceptionname>DateInvalidOperationException</exceptionname>がスローされます。
サポートされていない操作の例としては、
<literal>next weekday</literal> のような相対時刻を表現する
<classname>DateInterval</classname> を使った場合が挙げられます。
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.3.0</entry>
<entry>
サポートされていない操作を試みた場合に、警告を発生させるのではなく、
<exceptionname>DateInvalidOperationException</exceptionname> がスローされるようになりました。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>DateTimeImmutable::sub</function> の例</title>
<para>&style.oop;</para>
<programlisting role="php">
<![CDATA[
<?php
$date = new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('P10D'));
echo $newDate->format('Y-m-d') . "\n";
?>
]]>
</programlisting>
&examples.outputs;
<screen>
<![CDATA[
2000-01-10
]]>
</screen>
</example>
<example>
<title><function>DateTimeImmutable::sub</function> の別な例</title>
<programlisting role="php">
<![CDATA[
<?php
$date = new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('PT10H30S'));
echo $newDate->format('Y-m-d H:i:s') . "\n";
$date = new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('P7Y5M4DT4H3M2S'));
echo $newDate->format('Y-m-d H:i:s') . "\n";
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
2000-01-19 13:59:30
1992-08-15 19:56:58
]]>
</screen>
</example>
<example>
<title>月を減算する際は注意</title>
<programlisting role="php">
<![CDATA[
<?php
$date = new DateTimeImmutable('2001-04-30');
$interval = new DateInterval('P1M');
$newDate1 = $date->sub($interval);
echo $newDate1->format('Y-m-d') . "\n";
$newDate2 = $newDate1->sub($interval);
echo $newDate2->format('Y-m-d') . "\n";
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
2001-03-30
2001-03-02
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>DateTimeImmutable::add</function></member>
<member><function>DateTimeImmutable::diff</function></member>
<member><function>DateTimeImmutable::modify</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->