<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <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>DateTimeInterface::diff</refname> <refname>date_diff</refname> <refpurpose>Returns the difference between two DateTime objects</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>datetime2</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>datetime2</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>datetime2</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>datetime1</parameter></methodparam> <methodparam><type>DateTimeInterface</type><parameter>datetime2</parameter></methodparam> <methodparam choice="opt"><type>bool</type><parameter>absolute</parameter><initializer>&false;</initializer></methodparam> </methodsynopsis> <para> Returns the difference between two <classname>DateTimeInterface</classname> objects. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <variablelist> <varlistentry> <term><parameter>datetime</parameter></term> <listitem> <para> The date to compare to. </para> </listitem> </varlistentry> <varlistentry> <term><parameter>absolute</parameter></term> <listitem> <para> Should the interval be forced to be positive? </para> </listitem> </varlistentry> </variablelist> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> The <classname>DateInterval</classname> object representing the difference between the two dates&return.falseforfailure;. </para> </refsect1> <refsect1 role="examples"> &reftitle.examples; <example> <title><function>DateTime::diff</function> example</title> <para>&style.oop;</para> <programlisting role="php"> <![CDATA[ <?php $datetime1 = new DateTime('2009-10-11'); $datetime2 = new DateTime('2009-10-13'); $interval = $datetime1->diff($datetime2); echo $interval->format('%R%a days'); ?> ]]> </programlisting> <para>&style.procedural;</para> <programlisting role="php"> <![CDATA[ <?php $datetime1 = date_create('2009-10-11'); $datetime2 = date_create('2009-10-13'); $interval = date_diff($datetime1, $datetime2); echo $interval->format('%R%a days'); ?> ]]> </programlisting> &examples.outputs; <screen> <![CDATA[ +2 days ]]> </screen> </example> <example> <title><classname>DateTime</classname> object comparison</title> <note> <para> As of PHP 5.2.2, DateTime objects can be compared using <link linkend="language.operators.comparison">comparison operators</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 -->