mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-18 05:26:57 +08:00
937 lines
55 KiB
HTML
937 lines
55 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||
<title>格式化一个本地时间/日期</title>
|
||
</head>
|
||
<body class="docs"><div id="layout">
|
||
<div id="layout-content"><div id="function.date" class="refentry">
|
||
<div class="refnamediv">
|
||
<h1 class="refname">date</h1>
|
||
<p class="verinfo">(PHP 4, PHP 5, PHP 7)</p><p class="refpurpose"><span class="refname">date</span> — <span class="dc-title">格式化一个本地时间/日期</span></p>
|
||
|
||
</div>
|
||
<div class="refsect1 description" id="refsect1-function.date-description">
|
||
<h3 class="title">说明</h3>
|
||
<div class="methodsynopsis dc-description">
|
||
<span class="methodname"><strong>date</strong></span>
|
||
( <span class="methodparam"><span class="type">string</span> <code class="parameter">$format</code></span>
|
||
[, <span class="methodparam"><span class="type">int</span> <code class="parameter">$timestamp</code></span>
|
||
] ) : <span class="type">string</span></div>
|
||
|
||
<p class="para rdfs-comment">
|
||
返回将整数 <code class="parameter">timestamp</code>
|
||
按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,<code class="parameter">timestamp</code>
|
||
是可选的,默认值为 <span class="function"><a href="time.html" class="function">time()</a></span>。
|
||
</p>
|
||
<div class="tip"><strong class="tip">Tip</strong>
|
||
<p class="para">
|
||
自 PHP 5.1.1 起有几个有用的<a href="datetime.constants.html" class="link">常量</a>可用作标准的日期/时间格式来指定
|
||
<code class="parameter">format</code> 参数。
|
||
</p>
|
||
</div>
|
||
<div class="tip"><strong class="tip">Tip</strong>
|
||
<p class="para">
|
||
自 PHP 5.1 起在 <var class="varname"><var class="varname"><a href="reserved.variables.server.html" class="classname">$_SERVER['REQUEST_TIME']</a></var></var>
|
||
中保存了发起该请求时刻的时间戳。
|
||
</p>
|
||
</div>
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<p class="para">
|
||
有效的时间戳典型范围是格林威治时间 1901 年 12 月 13 日 20:45:54
|
||
到 2038 年 1 月 19 日 03:14:07。(此范围符合 32
|
||
位有符号整数的最小值和最大值)。不过在 PHP 5.1 之前此范围在某些系统(如
|
||
Windows)中限制为从 1970 年 1 月 1 日到 2038 年 1 月 19 日。
|
||
</p>
|
||
</p></blockquote>
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<p class="para">
|
||
要将字符串表达的时间转换成时间戳,应该使用
|
||
<span class="function"><a href="strtotime.html" class="function">strtotime()</a></span>。此外一些数据库有一些函数将其时间格式转换成时间戳(例如
|
||
MySQL 的 <a href="http://dev.mysql.com/doc/mysql/en/date_and_time_functions.html" class="link external">» UNIX_TIMESTAMP</a> 函数)。
|
||
</p>
|
||
</p></blockquote>
|
||
<p class="para">
|
||
<table class="doctable table">
|
||
<caption><strong>格式字串可以识别以下 <code class="parameter">format</code> 参数的字符串</strong></caption>
|
||
|
||
<thead>
|
||
<tr>
|
||
<th><code class="parameter">format</code> 字符</th>
|
||
<th>说明</th>
|
||
<th>返回值例子</th>
|
||
</tr>
|
||
|
||
</thead>
|
||
|
||
<tbody class="tbody">
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">日</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>d</em></td>
|
||
<td>月份中的第几天,有前导零的 2 位数字</td>
|
||
<td><em>01</em> 到 <em>31</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>D</em></td>
|
||
<td>星期中的第几天,文本表示,3 个字母</td>
|
||
<td><em>Mon</em> 到 <em>Sun</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>j</em></td>
|
||
<td>月份中的第几天,没有前导零</td>
|
||
<td><em>1</em> 到 <em>31</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>l</em>(“L”的小写字母)</td>
|
||
<td>星期几,完整的文本格式</td>
|
||
<td><em>Sunday</em> 到 <em>Saturday</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>N</em></td>
|
||
<td>ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加)</td>
|
||
<td><em>1</em>(表示星期一)到 <em>7</em>(表示星期天)</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>S</em></td>
|
||
<td>每月天数后面的英文后缀,2 个字符</td>
|
||
<td><em>st</em>,<em>nd</em>,<em>rd</em>
|
||
或者 <em>th</em>。可以和 <em>j</em> 一起用</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>w</em></td>
|
||
<td>星期中的第几天,数字表示</td>
|
||
<td><em>0</em>(表示星期天)到 <em>6</em>(表示星期六)</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>z</em></td>
|
||
<td>年份中的第几天</td>
|
||
<td><em>0</em> 到 <em>365</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">星期</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>W</em></td>
|
||
<td>ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的)</td>
|
||
<td>例如:<em>42</em>(当年的第 42 周)</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">月</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>F</em></td>
|
||
<td>月份,完整的文本格式,例如 January 或者 March</td>
|
||
<td><em>January</em> 到 <em>December</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>m</em></td>
|
||
<td>数字表示的月份,有前导零</td>
|
||
<td><em>01</em> 到 <em>12</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>M</em></td>
|
||
<td>三个字母缩写表示的月份</td>
|
||
<td><em>Jan</em> 到 <em>Dec</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>n</em></td>
|
||
<td>数字表示的月份,没有前导零</td>
|
||
<td><em>1</em> 到 <em>12</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>t</em></td>
|
||
<td>指定的月份有几天</td>
|
||
<td><em>28</em> 到 <em>31</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">年</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>L</em></td>
|
||
<td>是否为闰年</td>
|
||
<td>如果是闰年为 <em>1</em>,否则为 <em>0</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>o</em></td>
|
||
<td>ISO-8601 格式年份数字。这和
|
||
<em>Y</em> 的值相同,只除了如果 ISO
|
||
的星期数(<em>W</em>)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加)</td>
|
||
<td>Examples: <em>1999</em> or <em>2003</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>Y</em></td>
|
||
<td>4 位数字完整表示的年份</td>
|
||
<td>例如:<em>1999</em> 或 <em>2003</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>y</em></td>
|
||
<td>2 位数字表示的年份</td>
|
||
<td>例如:<em>99</em> 或 <em>03</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">时间</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>a</em></td>
|
||
<td>小写的上午和下午值</td>
|
||
<td><em>am</em> 或 <em>pm</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>A</em></td>
|
||
<td>大写的上午和下午值</td>
|
||
<td><em>AM</em> 或 <em>PM</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>B</em></td>
|
||
<td>Swatch Internet 标准时</td>
|
||
<td><em>000</em> 到 <em>999</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>g</em></td>
|
||
<td>小时,12 小时格式,没有前导零</td>
|
||
<td><em>1</em> 到 <em>12</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>G</em></td>
|
||
<td>小时,24 小时格式,没有前导零</td>
|
||
<td><em>0</em> 到 <em>23</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>h</em></td>
|
||
<td>小时,12 小时格式,有前导零</td>
|
||
<td><em>01</em> 到 <em>12</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>H</em></td>
|
||
<td>小时,24 小时格式,有前导零</td>
|
||
<td><em>00</em> 到 <em>23</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>i</em></td>
|
||
<td>有前导零的分钟数</td>
|
||
<td><em>00</em> 到 <em>59</em>></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>s</em></td>
|
||
<td>秒数,有前导零</td>
|
||
<td><em>00</em> 到 <em>59</em>></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>u</em></td>
|
||
<td>
|
||
毫秒 (PHP 5.2.2 新加)。需要注意的是
|
||
<span class="function"><strong>date()</strong></span> 函数总是返回
|
||
<em>000000</em> 因为它只接受 <span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>
|
||
参数, 而 <span class="methodname"><a href="datetime.format.html" class="methodname">DateTime::format()</a></span> 才支持毫秒。
|
||
</td>
|
||
<td>示例: <em>654321</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">时区</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>e</em></td>
|
||
<td>时区标识(PHP 5.1.0 新加)</td>
|
||
<td>例如:<em>UTC</em>,<em>GMT</em>,<em>Atlantic/Azores</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>I</em></td>
|
||
<td>是否为夏令时</td>
|
||
<td>如果是夏令时为 <em>1</em>,否则为 <em>0</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>O</em></td>
|
||
<td>与格林威治时间相差的小时数</td>
|
||
<td>例如:<em>+0200</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>P</em></td>
|
||
<td>与格林威治时间(GMT)的差别,小时和分钟之间有冒号分隔(PHP 5.1.3 新加)</td>
|
||
<td>例如:<em>+02:00</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>T</em></td>
|
||
<td>本机所在的时区</td>
|
||
<td>例如:<em>EST</em>,<em>MDT</em>(【译者注】在 Windows
|
||
下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”)。</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>Z</em></td>
|
||
<td>时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。</td>
|
||
<td><em>-43200</em> 到 <em>43200</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">完整的日期/时间</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>c</em></td>
|
||
<td>ISO 8601 格式的日期(PHP 5 新加)</td>
|
||
<td>2004-02-12T15:19:21+00:00</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>r</em></td>
|
||
<td>RFC 822 格式的日期</td>
|
||
<td>例如:<em>Thu, 21 Dec 2000 16:01:07 +0200</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>U</em></td>
|
||
<td>从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数</td>
|
||
<td>参见 <span class="function"><a href="time.html" class="function">time()</a></span></td>
|
||
</tr>
|
||
|
||
</tbody>
|
||
|
||
</table>
|
||
|
||
</p>
|
||
<p class="para">
|
||
格式字串中不能被识别的字符将原样显示。<em>Z</em> 格式在使用
|
||
<span class="function"><a href="gmdate.html" class="function">gmdate()</a></span> 时总是返回 <em>0</em>。
|
||
</p>
|
||
<p class="para">
|
||
<div class="example" id="example-2712">
|
||
<p><strong>Example #1 <span class="function"><strong>date()</strong></span> 例子</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// 设定要用的默认时区。自 PHP 5.1 可用<br /></span><span style="color: #0000BB">date_default_timezone_set</span><span style="color: #007700">(</span><span style="color: #DD0000">'UTC'</span><span style="color: #007700">);<br /><br /><br /></span><span style="color: #FF8000">// 输出类似:Monday<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"l"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// 输出类似:Monday 15th of August 2005 03:12:46 PM<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">'l dS \of F Y h:i:s A'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// 输出:July 1, 2000 is on a Saturday<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"July 1, 2000 is on a " </span><span style="color: #007700">. </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"l"</span><span style="color: #007700">, </span><span style="color: #0000BB">mktime</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">7</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2000</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">/* 在格式参数中使用常量 */<br />// 输出类似:Wed, 25 Sep 2013 15:28:57 -0700<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #0000BB">DATE_RFC2822</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// 输出类似:2000-07-01T00:00:00+00:00<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #0000BB">DATE_ATOM</span><span style="color: #007700">, </span><span style="color: #0000BB">mktime</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">7</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2000</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
</div>
|
||
</p>
|
||
<p class="para">
|
||
在格式字串中的字符前加上反斜线来转义可以避免它被按照上表解释。如果加上反斜线后的字符本身就是一个特殊序列,那还要转义反斜线。
|
||
<div class="example" id="example-2713">
|
||
<p><strong>Example #2 在 <span class="function"><strong>date()</strong></span> 中转义字符</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// prints something like: Wednesday the 15th<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"l \\t\h\e jS"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
</div>
|
||
</p>
|
||
<p class="para">
|
||
可以把 <span class="function"><strong>date()</strong></span> 和
|
||
<span class="function"><a href="mktime.html" class="function">mktime()</a></span> 函数结合使用来得到未来或过去的日期。
|
||
<div class="example" id="example-2714">
|
||
<p><strong>Example #3 <span class="function"><strong>date()</strong></span> 和 <span class="function"><a href="mktime.html" class="function">mktime()</a></span> 例子</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br />$tomorrow </span><span style="color: #007700">= </span><span style="color: #0000BB">mktime</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"m"</span><span style="color: #007700">) , </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"d"</span><span style="color: #007700">)+</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"Y"</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$lastmonth </span><span style="color: #007700">= </span><span style="color: #0000BB">mktime</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"m"</span><span style="color: #007700">)-</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"d"</span><span style="color: #007700">), </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"Y"</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$nextyear </span><span style="color: #007700">= </span><span style="color: #0000BB">mktime</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"m"</span><span style="color: #007700">), </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"d"</span><span style="color: #007700">), </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"Y"</span><span style="color: #007700">)+</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
</div>
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<p class="para">
|
||
由于夏令时的缘故,这种方法比简单地在时间戳上加减一天或者一个月的秒数更可靠。
|
||
</p>
|
||
</p></blockquote>
|
||
</p>
|
||
<p class="para">
|
||
一些使用 <span class="function"><strong>date()</strong></span>
|
||
格式化日期的例子。注意要转义所有其它的字符,因为目前有特殊含义的字符会产生不需要的结果,而其余字符在
|
||
PHP 将来的版本中可能会被用上。当转义时,注意用单引号以避免类似 \n 的字符变成了换行符。
|
||
<div class="example" id="example-2715">
|
||
<p><strong>Example #4 <span class="function"><strong>date()</strong></span> 格式举例</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// 假定今天是:March 10th, 2001, 5:16:18 pm<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"F j, Y, g:i a"</span><span style="color: #007700">); </span><span style="color: #FF8000">// March 10, 2001, 5:16 pm<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"m.d.y"</span><span style="color: #007700">); </span><span style="color: #FF8000">// 03.10.01<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"j, n, Y"</span><span style="color: #007700">); </span><span style="color: #FF8000">// 10, 3, 2001<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"Ymd"</span><span style="color: #007700">); </span><span style="color: #FF8000">// 20010310<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">'h-i-s, j-m-y, it is w Day z '</span><span style="color: #007700">); </span><span style="color: #FF8000">// 05-16-17, 10-03-01, 1631 1618 6 Fripm01<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">'\i\t \i\s \t\h\e jS \d\a\y.'</span><span style="color: #007700">); </span><span style="color: #FF8000">// It is the 10th day.<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"D M j G:i:s T Y"</span><span style="color: #007700">); </span><span style="color: #FF8000">// Sat Mar 10 15:16:08 MST 2001<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">'H:m:s \m \i\s\ \m\o\n\t\h'</span><span style="color: #007700">); </span><span style="color: #FF8000">// 17:03:17 m is month<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"H:i:s"</span><span style="color: #007700">); </span><span style="color: #FF8000">// 17:16:17<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"Y-m-d H:i:s"</span><span style="color: #007700">); </span><span style="color: #FF8000">// 2001-03-10 17:16:18 (MySQL DATETIME 格式)<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
</div>
|
||
</p>
|
||
<p class="para">
|
||
要格式化其它语种的日期,应该用 <span class="function"><a href="setlocale.html" class="function">setlocale()</a></span> 和
|
||
<span class="function"><a href="strftime.html" class="function">strftime()</a></span> 函数来代替 <span class="function"><strong>date()</strong></span>。
|
||
</p>
|
||
<p class="para">
|
||
参见 <span class="function"><a href="getlastmod.html" class="function">getlastmod()</a></span>,<span class="function"><a href="gmdate.html" class="function">gmdate()</a></span>,<span class="function"><a href="mktime.html" class="function">mktime()</a></span>,<span class="function"><a href="strftime.html" class="function">strftime()</a></span>
|
||
和 <span class="function"><a href="time.html" class="function">time()</a></span>。
|
||
</p>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 parameters" id="refsect1-function.date-parameters">
|
||
<h3 class="title">参数</h3>
|
||
<p class="para">
|
||
<dl>
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">format</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
输出的日期 <span class="type"><a href="language.types.string.html" class="type string">string</a></span> 格式。 参见下文中的
|
||
格式化选项。 同时,还可以使用
|
||
<a href="class.datetimeinterface.html#datetime.constants.types" class="link">预定义日期常量</a>
|
||
,例如:常量 <strong><code>DATE_RSS</code></strong>
|
||
表示格式化字符串 <em>'D, d M Y H:i:s'</em>。
|
||
</p>
|
||
<p class="para">
|
||
<table class="doctable table">
|
||
<caption><strong>
|
||
<code class="parameter">format</code> 参数字符串中可识别下列字符</strong></caption>
|
||
|
||
<thead>
|
||
<tr>
|
||
<th><code class="parameter">format</code> 字符</th>
|
||
<th>描述</th>
|
||
<th>返回值示例</th>
|
||
</tr>
|
||
|
||
</thead>
|
||
|
||
<tbody class="tbody">
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">天</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>d</em></td>
|
||
<td>一个月中的第几天,有前导 0 的 2 位数字</td>
|
||
<td>从 <em>01</em> 到 <em>31</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>D</em></td>
|
||
<td>3 个字符表示的星期几</td>
|
||
<td>从 <em>Mon</em> 到 <em>Sun</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>j</em></td>
|
||
<td>一个月中的第几天,无前导 0</td>
|
||
<td>从 <em>1</em> 到 <em>31</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>l</em> (lowercase 'L')</td>
|
||
<td>星期几,英文全称</td>
|
||
<td>从 <em>Sunday</em> 到 <em>Saturday</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>N</em></td>
|
||
<td>ISO-8601 规定的数字表示的星期几(PHP 5.1.0
|
||
新加
|
||
)</td>
|
||
<td>从 <em>1</em> (表示星期一)到 <em>7</em> (表示星期日)</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>S</em></td>
|
||
<td>一个月中的第几天,带有 2 个字符表示的英语序数词。</td>
|
||
<td>
|
||
<em>st</em>, <em>nd</em>, <em>rd</em> 或者
|
||
<em>th</em>。 可以和 <em>j</em> 联合使用。
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>w</em></td>
|
||
<td>数字表示的星期几</td>
|
||
<td>从 <em>0</em> (星期日) 到 <em>6</em> (星期六)</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>z</em></td>
|
||
<td>一年中的第几天,从 0 开始计数</td>
|
||
<td>从 <em>0</em> 到 <em>365</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">周</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>W</em></td>
|
||
<td>ISO-8601 规范的一年中的第几周,周一视为一周开始。(PHP 4.1.0 新加)</td>
|
||
<td>示例: <em>42</em> (本年第42周)</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">月</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>F</em></td>
|
||
<td>月份英文全拼,例如:January 或 March</td>
|
||
<td>从 <em>January</em> 到 <em>December</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>m</em></td>
|
||
<td>带有 0 前导的数字表示的月份</td>
|
||
<td>从 <em>01</em> 到 <em>12</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>M</em></td>
|
||
<td>3 个字符表示的月份的英文简拼</td>
|
||
<td>从 <em>Jan</em> 到 <em>Dec</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>n</em></td>
|
||
<td>月份的数字表示,无前导 0 </td>
|
||
<td><em>1</em> through <em>12</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>t</em></td>
|
||
<td>给定月份中包含多少天</td>
|
||
<td>从 <em>28</em> 到 <em>31</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">年</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>L</em></td>
|
||
<td>是否为闰年</td>
|
||
<td>如果是闰年,则返回 <em>1</em>,反之返回 <em>0</em>。</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>o</em></td>
|
||
<td>ISO-8601 规范的年份,同
|
||
<em>Y</em> 格式。有一种情况除外:当 ISO 的周数(<em>W</em>)属于前一年或者后一年时,会返回前一年或者后一年的年份数字表达。
|
||
属于前一年或者后一年时,会返回前一年或者后一年的年份数字表达。
|
||
(PHP 5.1.0 新加)</td>
|
||
<td>示例:<em>1999</em> 或 <em>2003</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>Y</em></td>
|
||
<td>4 位数字的年份</td>
|
||
<td>示例:<em>1999</em> 或 <em>2003</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>y</em></td>
|
||
<td>2 位数字的年份</td>
|
||
<td>示例: <em>99</em> 或 <em>03</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">时间</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>a</em></td>
|
||
<td>上午还是下午,2 位小写字符</td>
|
||
<td><em>am</em> 或 <em>pm</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>A</em></td>
|
||
<td>上午还是下午,2 位大写字符</td>
|
||
<td><em>AM</em> 或 <em>PM</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>B</em></td>
|
||
<td>斯沃琪因特网时间</td>
|
||
<td>从 <em>000</em> 到 <em>999</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>g</em></td>
|
||
<td>小时,12时制,无前导 0 </td>
|
||
<td>从 <em>1</em> 到 <em>12</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>G</em></td>
|
||
<td>小时,24时制,无前导 0 </td>
|
||
<td>从 <em>0</em> 到 <em>23</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>h</em></td>
|
||
<td>小时,12时制,有前导 0 的 2 位数字</td>
|
||
<td>从 <em>01</em> 到 <em>12</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>H</em></td>
|
||
<td>小时,24时制,有前导 0 的 2 位数字</td>
|
||
<td><em>00</em> through <em>23</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>i</em></td>
|
||
<td>分钟,有前导 0 的 2 位数字</td>
|
||
<td>从 <em>00</em> 到 <em>59</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>s</em></td>
|
||
<td>秒,有前导 0 的 2 位数字</td>
|
||
<td>从 <em>00</em> 到 <em>59</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>u</em></td>
|
||
<td>毫秒 (PHP 5.2.2 新加)</td>
|
||
<td>示例: <em>654321</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">时区</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>e</em></td>
|
||
<td>时区标识(PHP 5.1.0 新加)</td>
|
||
<td>示例: <em>UTC</em>, <em>GMT</em>, <em>Atlantic/Azores</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>I</em> (大写字母 i)</td>
|
||
<td>是否夏令时</td>
|
||
<td>如果是夏令时则返回 <em>1</em>,反之返回 <em>0</em>。</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>O</em></td>
|
||
<td>和格林威治时间(GMT)的时差,以小时为单位</td>
|
||
<td>示例: <em>+0200</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>P</em></td>
|
||
<td>和格林威治时间(GMT)的时差,包括小时和分钟,小时和分钟之间使用冒号(:)分隔(PHP 5.1.3 新加)</td>
|
||
<td>示例: <em>+02:00</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>T</em></td>
|
||
<td>时区缩写</td>
|
||
<td>示例:<em>EST</em>, <em>MDT</em> ...</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>Z</em></td>
|
||
<td>以秒为单位的时区偏移量。UTC 以西的时区返回负数,UTC 以东的时区返回正数。</td>
|
||
<td>从 <em>-43200</em> 到 <em>50400</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td style="text-align: center;"><em class="emphasis">完整的日期/时间</em></td>
|
||
<td>---</td>
|
||
<td>---</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>c</em></td>
|
||
<td>ISO 8601 日期及时间(PHP 5 新加)</td>
|
||
<td>2004-02-12T15:19:21+00:00</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>r</em></td>
|
||
<td><a href="http://www.faqs.org/rfcs/rfc2822" class="link external">» RFC 2822</a> 格式的日期和时间</td>
|
||
<td>示例:<em>Thu, 21 Dec 2000 16:01:07 +0200</em></td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>U</em></td>
|
||
<td>自 1970 年 1 月 1 日 0 时 0 分 0 秒(GMT 时间)以来的时间,以秒为单位</td>
|
||
<td>参见<span class="function"><a href="time.html" class="function">time()</a></span></td>
|
||
</tr>
|
||
|
||
</tbody>
|
||
|
||
</table>
|
||
|
||
</p>
|
||
<p class="para">
|
||
格式化字符串中的不可识别字符将原样输出。
|
||
当使用 <span class="function"><a href="gmdate.html" class="function">gmdate()</a></span> 函数时, <em>Z</em> 格式永远返回 <em>0</em>。
|
||
</p>
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<p class="para">
|
||
由于本函数仅接受 <span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span> 类型的时间戳参数,所以
|
||
<em>u</em> 格式仅在使用 <span class="function"><a href="date_format.html" class="function">date_format()</a></span> 函数并且使用
|
||
<span class="function"><a href="date_create.html" class="function">date_create()</a></span> 函数创建时间戳时才是有用的。
|
||
</p>
|
||
</p></blockquote>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">timestamp</code></dt>
|
||
<dd>
|
||
<p class="para">
|
||
可选的 <code class="parameter">timestamp</code> 参数是一个 <span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span> 的 Unix
|
||
时间戳,如未指定,参数值默认为当前本地时间。也就是说,其值默认为
|
||
<span class="function"><a href="time.html" class="function">time()</a></span> 的返回值。</p></dd>
|
||
|
||
|
||
</dl>
|
||
|
||
</p>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 returnvalues" id="refsect1-function.date-returnvalues">
|
||
<h3 class="title">返回值</h3>
|
||
<p class="para">
|
||
返回格式化后的日期时间的字符串表达。
|
||
如果 <code class="parameter">timestamp</code> 参数不是一个有效数值,则返回 <strong><code>FALSE</code></strong>
|
||
并引发 <strong><code>E_WARNING</code></strong> 级别的错误。
|
||
</p>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 errors" id="refsect1-function.date-errors">
|
||
<h3 class="title">错误/异常</h3>
|
||
|
||
<p class="para">
|
||
在每 次调用日期/时间函数时,如果时区无效则会引发 <strong><code>E_NOTICE</code></strong> 错误,如果使用系统设定值或 <var class="varname"><var class="varname">TZ</var></var>
|
||
环境变量,则会引发 <strong><code>E_STRICT</code></strong> 或 <strong><code>E_WARNING</code></strong> 消息。参见
|
||
<span class="function"><a href="date_default_timezone_set.html" class="function">date_default_timezone_set()</a></span>。</p>
|
||
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 changelog" id="refsect1-function.date-changelog">
|
||
<h3 class="title">更新日志</h3>
|
||
<p class="para">
|
||
<table class="doctable informaltable">
|
||
|
||
<thead>
|
||
<tr>
|
||
<th>版本</th>
|
||
<th>说明</th>
|
||
</tr>
|
||
|
||
</thead>
|
||
|
||
<tbody class="tbody">
|
||
<tr>
|
||
<td>5.1.0</td>
|
||
<td>
|
||
时间戳的有效取值范围为 GMT 时间的 1901 年 12 月 13 日至 GMT 时间的 2038 年 1 月 19 日。
|
||
(32 位有符号整数的取值范围)。
|
||
但是,在 PHP 5.1.0 之前的版本,在某些系统(例如 Windows)上有效取值范围为 1970 年 1 月 1 日至 2038 年 1 月 19 日。
|
||
</td>
|
||
</tr>
|
||
|
||
|
||
<tr><td>5.1.0</td><td><p class="para">
|
||
现在发布 <strong><code>E_STRICT</code></strong> 和 <strong><code>E_NOTICE</code></strong>
|
||
时区错误。</p></td></tr>
|
||
|
||
|
||
<tr>
|
||
<td>5.1.1</td>
|
||
<td>
|
||
<code class="parameter">format</code> 参数标准的可用日期/时间格式常量见: <a href="datetime.constants.html" class="link">常量</a>
|
||
</td>
|
||
</tr>
|
||
|
||
</tbody>
|
||
|
||
</table>
|
||
|
||
</p>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 examples" id="refsect1-function.date-examples">
|
||
<h3 class="title">范例</h3>
|
||
<p class="para">
|
||
<div class="example" id="example-2716">
|
||
<p><strong>Example #5 <span class="function"><strong>date()</strong></span> 函数示例</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// 设置默认时区。PHP 5.1 之后版本可用<br /></span><span style="color: #0000BB">date_default_timezone_set</span><span style="color: #007700">(</span><span style="color: #DD0000">'UTC'</span><span style="color: #007700">);<br /><br /><br /></span><span style="color: #FF8000">// 输出类似: Monday<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"l"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// 输出类似:Monday 8th of August 2005 03:12:46 PM<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">'l jS \of F Y h:i:s A'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// 输出:July 1, 2000 is on a Saturday<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"July 1, 2000 is on a " </span><span style="color: #007700">. </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"l"</span><span style="color: #007700">, </span><span style="color: #0000BB">mktime</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">7</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2000</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">/* 使用格式常量 */<br />// 输出类似: Mon, 15 Aug 2005 15:12:46 UTC<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #0000BB">DATE_RFC822</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// 输出类似:2000-07-01T00:00:00+00:00<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #0000BB">DATE_ATOM</span><span style="color: #007700">, </span><span style="color: #0000BB">mktime</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">7</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2000</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
</div>
|
||
</p>
|
||
<p class="para">
|
||
可以使用反斜线进行转义来阻止函数解析格式字符串中的可识别字符。
|
||
如果反斜线和要转义的字符连在一起依然是一个有效的字符序列,那么需要对
|
||
反斜线再次进行转义。
|
||
<div class="example" id="example-2717">
|
||
<p><strong>Example #6 对 <span class="function"><strong>date()</strong></span> 函数中的格式字符串进行转义</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// 输出类似: Wednesday the 15th<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">'l \t\h\e jS'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
</div>
|
||
</p>
|
||
<p class="para">
|
||
可以联合使用 <span class="function"><strong>date()</strong></span>
|
||
和 <span class="function"><a href="mktime.html" class="function">mktime()</a></span> 函数
|
||
来构造之前或者之后的日期时间。
|
||
<div class="example" id="example-2718">
|
||
<p><strong>Example #7 <span class="function"><strong>date()</strong></span> 和 <span class="function"><a href="mktime.html" class="function">mktime()</a></span> 联合使用示例</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br />$tomorrow </span><span style="color: #007700">= </span><span style="color: #0000BB">mktime</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"m"</span><span style="color: #007700">) , </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"d"</span><span style="color: #007700">)+</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"Y"</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$lastmonth </span><span style="color: #007700">= </span><span style="color: #0000BB">mktime</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"m"</span><span style="color: #007700">)-</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"d"</span><span style="color: #007700">), </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"Y"</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$nextyear </span><span style="color: #007700">= </span><span style="color: #0000BB">mktime</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"m"</span><span style="color: #007700">), </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"d"</span><span style="color: #007700">), </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"Y"</span><span style="color: #007700">)+</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
</div>
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<p class="para">
|
||
由于存在夏令时时间,
|
||
所以此方案相对于直接在时间戳上加/减秒数
|
||
要更加可靠。
|
||
</p>
|
||
</p></blockquote>
|
||
</p>
|
||
<p class="para">
|
||
<span class="function"><strong>date()</strong></span> 函数格式化的一些示例。
|
||
需要注意的是,即使是对于当前来说并不具有特殊含义的字符,
|
||
也要像对待具有特殊含义的字符那样进行转义,以避免函数返回非预期的值。
|
||
因为可能在将来的 PHP 版本中,这些字符会被赋予特殊的含义。
|
||
进行转义的时候,请确保使用单引号,以避免 \n 被解释为换行符号。
|
||
<div class="example" id="example-2719">
|
||
<p><strong>Example #8 <span class="function"><strong>date()</strong></span> 函数格式化</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// 假设今天是 2001 年 3 月 10 日下午 5 点 16 分 18 秒,<br />// 并且位于山区标准时间(MST)时区<br /><br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"F j, Y, g:i a"</span><span style="color: #007700">); </span><span style="color: #FF8000">// March 10, 2001, 5:16 pm<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"m.d.y"</span><span style="color: #007700">); </span><span style="color: #FF8000">// 03.10.01<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"j, n, Y"</span><span style="color: #007700">); </span><span style="color: #FF8000">// 10, 3, 2001<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"Ymd"</span><span style="color: #007700">); </span><span style="color: #FF8000">// 20010310<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">'h-i-s, j-m-y, it is w Day'</span><span style="color: #007700">); </span><span style="color: #FF8000">// 05-16-18, 10-03-01, 1631 1618 6 Satpm01<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">'\i\t \i\s \t\h\e jS \d\a\y.'</span><span style="color: #007700">); </span><span style="color: #FF8000">// it is the 10th day.<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"D M j G:i:s T Y"</span><span style="color: #007700">); </span><span style="color: #FF8000">// Sat Mar 10 17:16:18 MST 2001<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">'H:m:s \m \i\s\ \m\o\n\t\h'</span><span style="color: #007700">); </span><span style="color: #FF8000">// 17:03:18 m is month<br /></span><span style="color: #0000BB">$today </span><span style="color: #007700">= </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"H:i:s"</span><span style="color: #007700">); </span><span style="color: #FF8000">// 17:16:18<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
</div>
|
||
</p>
|
||
<p class="para">
|
||
如果需要将日期时间格式化为其他语言,你应该使用
|
||
<span class="function"><a href="setlocale.html" class="function">setlocale()</a></span> 和 <span class="function"><a href="strftime.html" class="function">strftime()</a></span> 函数
|
||
来替代 <span class="function"><strong>date()</strong></span> 函数。
|
||
</p>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 notes" id="refsect1-function.date-notes">
|
||
<h3 class="title">注释</h3>
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<p class="para">
|
||
使用 <span class="function"><a href="strtotime.html" class="function">strtotime()</a></span> 函数将一个字符串表达的日期时间转换为时间戳。
|
||
另外,一些数据库产品也提供了将日期时间格式转换为时间戳的函数。
|
||
(例如 MySQL 中的
|
||
<a href="http://dev.mysql.com/doc/mysql/en/date_and_time_functions.html" class="link external">» UNIX_TIMESTAMP</a> 函数)。
|
||
</p>
|
||
</p></blockquote>
|
||
<div class="tip"><strong class="tip">Tip</strong>
|
||
<p class="para">
|
||
从 PHP 5.1 版本开始,请求的开始时间可以从变量
|
||
<var class="varname"><var class="varname"><a href="reserved.variables.server.html" class="classname">$_SERVER['REQUEST_TIME']</a></var></var> 中获取。
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="refsect1 seealso" id="refsect1-function.date-seealso">
|
||
<h3 class="title">参见</h3>
|
||
<p class="para">
|
||
<ul class="simplelist">
|
||
<li class="member"><span class="function"><a href="gmdate.html" class="function" rel="rdfs-seeAlso">gmdate()</a> - 格式化一个 GMT/UTC 日期/时间</span></li>
|
||
<li class="member"><span class="function"><a href="idate.html" class="function" rel="rdfs-seeAlso">idate()</a> - 将本地时间日期格式化为整数</span></li>
|
||
<li class="member"><span class="function"><a href="getdate.html" class="function" rel="rdfs-seeAlso">getdate()</a> - 取得日期/时间信息</span></li>
|
||
<li class="member"><span class="function"><a href="getlastmod.html" class="function" rel="rdfs-seeAlso">getlastmod()</a> - 获取页面最后修改的时间</span></li>
|
||
<li class="member"><span class="function"><a href="mktime.html" class="function" rel="rdfs-seeAlso">mktime()</a> - 取得一个日期的 Unix 时间戳</span></li>
|
||
<li class="member"><span class="function"><a href="strftime.html" class="function" rel="rdfs-seeAlso">strftime()</a> - 根据区域设置格式化本地时间/日期</span></li>
|
||
<li class="member"><span class="function"><a href="time.html" class="function" rel="rdfs-seeAlso">time()</a> - 返回当前的 Unix 时间戳</span></li>
|
||
<li class="member"><span class="function"><a href="strtotime.html" class="function" rel="rdfs-seeAlso">strtotime()</a> - 将任何字符串的日期时间描述解析为 Unix 时间戳</span></li>
|
||
<li class="member"><a href="class.datetimeinterface.html#datetime.constants.types" class="link">预定义的日期时间常量</a></li>
|
||
</ul>
|
||
</p>
|
||
</div>
|
||
|
||
</div></div></div></body></html> |