1
0
mirror of https://github.com/php/doc-ja.git synced 2026-04-24 00:18:15 +02:00
Files
archived-doc-ja/reference/datetime/datetimeinterface/diff.xml
T
Yoshinari Takaoka 1becb46ed2 DateTimeInterface::diff() does not return false on failure
Well, technically it did prior to PHP 8.0.0, but that was actually
undefined behavior and as such does not need to be documented for each
function individually.

https://github.com/php/doc-en/commit/8c3c7f1adbe7ba0bd811fccb6fe429622d09f5cc
2022-07-08 08:50:36 +09:00

176 lines
5.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 8c3c7f1adbe7ba0bd811fccb6fe429622d09f5cc Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->
<refentry xml:id="datetime.diff" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>DateTime::diff</refname>
<refname>DateTimeImmutable::diff</refname>
<refname>DateTime::diff</refname>
<refname>date_diff</refname>
<refpurpose>ふたつの DateTime オブジェクトの差を返す</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<para>&style.oop;</para>
<methodsynopsis role="oop">
<modifier>public</modifier> <type>DateInterval</type><methodname>DateTime::diff</methodname>
<methodparam><type>DateTimeInterface</type><parameter>targetObject</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>absolute</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
<methodsynopsis role="DateTimeImmutable">
<modifier>public</modifier> <type>DateInterval</type><methodname>DateTimeImmutable::diff</methodname>
<methodparam><type>DateTimeInterface</type><parameter>targetObject</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>absolute</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
<methodsynopsis role="DateTimeInterface">
<modifier>public</modifier> <type>DateInterval</type><methodname>DateTimeInterface::diff</methodname>
<methodparam><type>DateTimeInterface</type><parameter>targetObject</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>absolute</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
<para>&style.procedural;</para>
<methodsynopsis role="procedural">
<type>DateInterval</type><methodname>date_diff</methodname>
<methodparam><type>DateTimeInterface</type><parameter>baseObject</parameter></methodparam>
<methodparam><type>DateTimeInterface</type><parameter>targetObject</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>absolute</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
<para>
ふたつの DateTime オブジェクトの差を返します。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>datetime</parameter></term>
<listitem>
<para>
比較する日付。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>absolute</parameter></term>
<listitem>
<para>
間隔が正の数になるようにするか否か。
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
ふたつの日付の差をあらわす <classname>DateInterval</classname> オブジェクトを返します。
</para>
<para>
さらに厳密に言うと、戻り値はもともとのオブジェクト
(<parameter>$this</parameter> または
<parameter>$originObject</parameter>) を
<parameter>$targetObject</parameter> にするために適用すべき差分を示しています。
このプロセスは可逆とは限りません。
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>DateTime::diff</function> の例</title>
<para>&style.oop;</para>
<programlisting role="php">
<![CDATA[
<?php
$origin = new DateTime('2009-10-11');
$target = new DateTime('2009-10-13');
$interval = $origin->diff($target);
echo $interval->format('%R%a days');
?>
]]>
</programlisting>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
<?php
$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;
<screen>
<![CDATA[
+2 days
]]>
</screen>
</example>
<example>
<title><classname>DateTime</classname> オブジェクトの比較</title>
<note>
<para>
DateTime オブジェクトを
<link linkend="language.operators.comparison">比較演算子</link>
で比較することもできます。
</para>
</note>
<programlisting role="php">
<![CDATA[
<?php
$date1 = new DateTime("now");
$date2 = new DateTime("tomorrow");
var_dump($date1 == $date2);
var_dump($date1 < $date2);
var_dump($date1 > $date2);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
bool(false)
bool(true)
bool(false)
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>DateInterval::format</function></member>
<member><function>DateTime::add</function></member>
<member><function>DateTime::sub</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
-->