php-doc-en/reference/calendar/functions/gregoriantojd.xml
Christoph Michael Becker cca0f0ce48 Improve gregoriantojd() docs
* clarify valid date range
* document overflow behavior
* document return value 0 on failure

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@344466 c90b9560-bf6c-de11-be94-00142212c4b1
2018-03-08 15:25:00 +00:00

149 lines
3.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.gregoriantojd" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>gregoriantojd</refname>
<refpurpose>Converts a Gregorian date to Julian Day Count</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>gregoriantojd</methodname>
<methodparam><type>int</type><parameter>month</parameter></methodparam>
<methodparam><type>int</type><parameter>day</parameter></methodparam>
<methodparam><type>int</type><parameter>year</parameter></methodparam>
</methodsynopsis>
<para>
The valid range for the Gregorian calendar is from November 25, 4714 B.C. to at least December 31, 9999 A.D.</para>
<para>
Although this function can handle dates all the way back to 4714
B.C., such use may not be meaningful. The Gregorian calendar was
not instituted until October 15, 1582 (or October 5, 1582 in the
Julian calendar). Some countries did not accept it until much
later. For example, Britain converted in 1752, The USSR in 1918
and Greece in 1923. Most European countries used the Julian
calendar prior to the Gregorian.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>month</parameter></term>
<listitem>
<para>
The month as a number from 1 (for January) to 12 (for December)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>day</parameter></term>
<listitem>
<para>
The day as a number from 1 to 31.
If the month has less days then given, overflow occurs; see the example
below.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>year</parameter></term>
<listitem>
<para>
The year as a number between -4714 and 9999.
Negative numbers mean years B.C., positive numbers mean years A.D.
Note that there is no year <literal>0</literal>; December 31, 1 B.C. is
immediately followed by January 1, 1 A.D.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
The julian day for the given gregorian date as an integer.
Dates outside the valid range return <literal>0</literal>.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Calendar functions</title>
<programlisting role="php">
<![CDATA[
<?php
$jd = gregoriantojd(10, 11, 1970);
echo "$jd\n";
$gregorian = jdtogregorian($jd);
echo "$gregorian\n";
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
2440871
10/11/1970
]]>
</screen>
</example>
<example>
<title>Overflow behavior</title>
<programlisting role="php">
<![CDATA[
<?php
echo gregoriantojd(2, 31, 2018), PHP_EOL,
gregoriantojd(3, 3, 2018), PHP_EOL;
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
2458181
2458181
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>jdtogregorian</function></member>
<member><function>cal_to_jd</function></member>
</simplelist>
</para>
</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
-->