mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-27 14:28:56 +00:00

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@114299 c90b9560-bf6c-de11-be94-00142212c4b1
346 lines
13 KiB
XML
346 lines
13 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision: 1.7 $ -->
|
|
<!-- splitted from ./en/functions/datetime.xml, last change in rev 1.2 -->
|
|
<refentry id="function.date">
|
|
<refnamediv>
|
|
<refname>date</refname>
|
|
<refpurpose>Format a local time/date</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>date</methodname>
|
|
<methodparam><type>string</type><parameter>format</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>
|
|
timestamp
|
|
</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Returns a string formatted according to the given format string using the
|
|
given integer <parameter>timestamp</parameter> or the current local time
|
|
if no timestamp is given. In otherwords, <parameter>timestamp</parameter>
|
|
is optional and defaults to the value of <function>time</function>.
|
|
<note>
|
|
<para>
|
|
The valid range of a timestamp is typically from Fri, 13 Dec
|
|
1901 20:45:54 GMT to Tue, 19 Jan 2038 03:14:07 GMT. (These are
|
|
the dates that correspond to the minimum and maximum values for
|
|
a 32-bit signed integer). On windows this range is limited from
|
|
01-01-1970 to 19-01-2038.
|
|
</para>
|
|
<para>
|
|
To generate a timestamp from a string representation of the date, you
|
|
may be able to use <function>strtotime</function>. Additionally, some
|
|
databases have functions to convert their date formats into timestamps
|
|
(such as MySQL's <ulink url="&url.mysql.docs.date;">UNIX_TIMESTAMP</ulink>
|
|
function).
|
|
</para>
|
|
</note>
|
|
</para>
|
|
<para>
|
|
<table>
|
|
<title>The following characters are recognized in the
|
|
<parameter>format</parameter> parameter string</title>
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry><parameter>format</parameter> character</entry>
|
|
<entry>Description</entry>
|
|
<entry>Example returned values</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>a</literal></entry>
|
|
<entry>Lowercase Ante meridiem and Post meridiem</entry>
|
|
<entry><literal>am</literal> or <literal>pm</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>A</literal></entry>
|
|
<entry>Uppercase Ante meridiem and Post meridiem</entry>
|
|
<entry><literal>AM</literal> or <literal>PM</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>B</literal></entry>
|
|
<entry>Swatch Internet time</entry>
|
|
<entry><literal>000</literal> through <literal>999</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>d</literal></entry>
|
|
<entry>Day of the month, 2 digits with leading zeros</entry>
|
|
<entry><literal>01</literal> to <literal>31</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>D</literal></entry>
|
|
<entry>A textual representation of a day, three letters</entry>
|
|
<entry><literal>Mon</literal> through <literal>Sun</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>F</literal></entry>
|
|
<entry>A full textual representation of a month, such as January or March</entry>
|
|
<entry><literal>January</literal> through <literal>December</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>g</literal></entry>
|
|
<entry>12-hour format of an hour without leading zeros</entry>
|
|
<entry><literal>1</literal> through <literal>12</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>G</literal></entry>
|
|
<entry>24-hour format of an hour without leading zeros</entry>
|
|
<entry><literal>0</literal> through <literal>23</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>h</literal></entry>
|
|
<entry>12-hour format of an hour with leading zeros</entry>
|
|
<entry><literal>01</literal> through <literal>12</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>H</literal></entry>
|
|
<entry>24-hour format of an hour with leading zeros</entry>
|
|
<entry><literal>00</literal> through <literal>23</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>i</literal></entry>
|
|
<entry>Minutes with leading zeros</entry>
|
|
<entry><literal>00</literal> to <literal>59</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>I</literal> (capital i)</entry>
|
|
<entry>Whether or not the date is in daylights savings time</entry>
|
|
<entry><literal>1</literal> if Daylight Savings Time, <literal>0</literal> otherwise.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>j</literal></entry>
|
|
<entry>Day of the month without leading zeros</entry>
|
|
<entry><literal>1</literal> to <literal>31</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>l</literal> (lowercase 'L')</entry>
|
|
<entry>A full textual representation of the day of the week</entry>
|
|
<entry><literal>Sunday</literal> through <literal>Saturday</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>L</literal></entry>
|
|
<entry>Whether it's a leap year</entry>
|
|
<entry><literal>1</literal> if it is a leap year, <literal>0</literal> otherwise.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>m</literal></entry>
|
|
<entry>Numeric representation of a month, with leading zeros</entry>
|
|
<entry><literal>01</literal> through <literal>12</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>M</literal></entry>
|
|
<entry>A short textual representation of a month, three letters</entry>
|
|
<entry><literal>Jan</literal> through <literal>Dec</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>n</literal></entry>
|
|
<entry>Numeric representation of a month, without leading zeros</entry>
|
|
<entry><literal>1</literal> through <literal>12</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>O</literal></entry>
|
|
<entry>Difference to Greenwich time (GMT) in hours</entry>
|
|
<entry>Example: <literal>+0200</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>r</literal></entry>
|
|
<entry>RFC 822 formatted date</entry>
|
|
<entry>Example: <literal>Thu, 21 Dec 2000 16:01:07 +0200</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>s</literal></entry>
|
|
<entry>Seconds, with leading zeros</entry>
|
|
<entry><literal>00</literal> through <literal>59</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>S</literal></entry>
|
|
<entry>English ordinal suffix for the day of the month, 2 characters</entry>
|
|
<entry>
|
|
<literal>st</literal>, <literal>nd</literal>, <literal>rd</literal> or
|
|
<literal>th</literal>. Works well with <literal>j</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>t</literal></entry>
|
|
<entry>Number of days in the given month</entry>
|
|
<entry><literal>28</literal> through <literal>31</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>T</literal></entry>
|
|
<entry>Timezone setting of this machine</entry>
|
|
<entry>Examples: <literal>EST</literal>, <literal>MDT</literal> ...</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>U</literal></entry>
|
|
<entry>Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)</entry>
|
|
<entry>See also <function>time</function></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>w</literal></entry>
|
|
<entry>Numeric representation of the day of the week</entry>
|
|
<entry><literal>0</literal> (for Sunday) through <literal>6</literal> (for Saturday)</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>W</literal></entry>
|
|
<entry>ISO-8601 week number of year, weeks starting on Monday (added in PHP 4.1.0)</entry>
|
|
<entry>Example: <literal>42</literal> (the 42nd week in the year)</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>Y</literal></entry>
|
|
<entry>A full numeric representation of a year, 4 digits</entry>
|
|
<entry>Examples: <literal>1999</literal> or <literal>2003</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>y</literal></entry>
|
|
<entry>A two digit representation of a year</entry>
|
|
<entry>Examples: <literal>99</literal> or <literal>03</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>z</literal></entry>
|
|
<entry>The day of the year</entry>
|
|
<entry><literal>0</literal> through <literal>366</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>Z</literal></entry>
|
|
<entry>Timezone offset in seconds. The offset for timezones west of UTC is always
|
|
negative, and for those east of UTC is always positive.</entry>
|
|
<entry><literal>-43200</literal> through <literal>43200</literal></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
<para>
|
|
Unrecognized characters in the format string will be printed
|
|
as-is. The <literal>Z</literal> format will always return
|
|
<literal>0</literal> when using <function>gmdate</function>.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title><function>date</function> examples</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// Prints something like: Wednesday
|
|
echo date("l");
|
|
|
|
// Prints something like: Wednesday 15th of January 2003 05:51:38 AM
|
|
echo date ("l dS of F Y h:i:s A");
|
|
|
|
// Prints: July 1, 2000 is on a Saturday
|
|
echo "July 1, 2000 is on a " . date ("l", mktime(0,0,0,7,1,2000));
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
You can prevent a recognized character in the format string from being
|
|
expanded by escaping it with a preceding backslash. If the character with
|
|
a backslash is already a special sequence, you may need to also escape
|
|
the backslash.
|
|
<example>
|
|
<title>Escaping characters in <function>date</function></title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// prints something like: Wednesday the 15th
|
|
echo date("l \\t\h\e jS");
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
It is possible to use <function>date</function> and
|
|
<function>mktime</function> together to find dates in the future
|
|
or the past.
|
|
<example>
|
|
<title>
|
|
<function>date</function> and <function>mktime</function>
|
|
example
|
|
</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$tomorrow = mktime (0,0,0,date("m") ,date("d")+1,date("Y"));
|
|
$lastmonth = mktime (0,0,0,date("m")-1,date("d"), date("Y"));
|
|
$nextyear = mktime (0,0,0,date("m"), date("d"), date("Y")+1);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
<note>
|
|
<para>
|
|
This can be more reliable than simply adding or subtracting the number
|
|
of seconds in a day or month to a timestamp because of daylight savings
|
|
time.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
<para>
|
|
Some examples of <function>date</function> formatting. Note that
|
|
you should escape any other characters, as any which currently
|
|
have a special meaning will produce undesirable results, and
|
|
other characters may be assigned meaning in future PHP versions.
|
|
When escaping, be sure to use single quotes to prevent characters
|
|
like \n from becoming newlines.
|
|
<example>
|
|
<title>
|
|
<function>date</function> Formatting
|
|
</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// Assuming today is: March 10th, 2001, 5:16:18 pm
|
|
|
|
$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
|
|
$today = date("m.d.y"); // 03.10.01
|
|
$today = date("j, n, Y"); // 10, 3, 2001
|
|
$today = date("Ymd"); // 20010310
|
|
$today = date('h-i-s, j-m-y, it is w Day z '); // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
|
|
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // It is the 10th day.
|
|
$today = date("D M j G:i:s T Y"); // Sat Mar 10 15:16:08 MST 2001
|
|
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:17 m is month
|
|
$today = date("H:i:s"); // 17:16:17
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
To format dates in other languages, you should use the
|
|
<function>setlocale</function> and <function>strftime</function>
|
|
functions.
|
|
</para>
|
|
<para>
|
|
See also <function>getlastmod</function>, <function>gmdate</function>,
|
|
<function>mktime</function>, <function>strftime</function>
|
|
and <function>time</function>.
|
|
</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:"../../../../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
|
|
-->
|