PHP Date/Time 简介
Date/Time 函数允许您从 PHP 脚本运行的服务器上获取日期和时间。您可以使用 Date/Time 函数通过不同的方式来格式化日期和时间。
注释:这些函数依赖于服务器的本地设置。使用这些函数时请记住要考虑夏令时和闰年。
安装
PHP Date/Time 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。
Runtime 配置
Date/Time 函数的行为受到 php.ini 中设置的影响:
名称 | 描述 | 默认 | PHP 版本 |
---|---|---|---|
date.timezone | 默认时区(所有的 Date/Time 函数使用该选项) | “” | PHP 5.1 |
date.default_latitude | 默认纬度(date_sunrise() 和 date_sunset() 使用该选项) | “31.7667” | PHP 5.0 |
date.default_longitude | 默认经度(date_sunrise() 和 date_sunset() 使用该选项) | “35.2333” | PHP 5.0 |
date.sunrise_zenith | 默认日出天顶(date_sunrise() 和 date_sunset() 使用该选项) | “90.83” | PHP 5.0 |
date.sunset_zenith | 默认日落天顶(date_sunrise() 和 date_sunset() 使用该选项) | “90.83” | PHP 5.0 |
定义和用法
date() 函数格式化本地日期和时间,并返回格式化的日期字符串。
语法
date(format,timestamp); 返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,默认值为 time()。
参数 | 描述 |
---|---|
format | 必需。规定输出日期字符串的格式。可使用下列字符: d – 一个月中的第几天(从 01 到 31) D – 星期几的文本表示(用三个字母表示) j – 一个月中的第几天,不带前导零(1 到 31) l(’L’ 的小写形式)- 星期几的完整的文本表示 N – 星期几的 ISO-8601 数字格式表示(1 表示 Monday[星期一],7 表示 Sunday[星期日]) S – 一个月中的第几天的英语序数后缀(2 个字符:st、nd、rd 或 th。与 j 搭配使用) w – 星期几的数字表示(0 表示 Sunday[星期日],6 表示 Saturday[星期六]) z – 一年中的第几天(从 0 到 365) W – 用 ISO-8601 数字格式表示一年中的星期数字(每周从 Monday[星期一]开始) F – 月份的完整的文本表示(January[一月份] 到 December[十二月份]) m – 月份的数字表示(从 01 到 12) M – 月份的短文本表示(用三个字母表示) n – 月份的数字表示,不带前导零(1 到 12) t – 给定月份中包含的天数 L – 是否是闰年(如果是闰年则为 1,否则为 0) o – ISO-8601 标准下的年份数字 Y – 年份的四位数表示 y – 年份的两位数表示 a – 小写形式表示:am 或 pm A – 大写形式表示:AM 或 PM B – Swatch Internet Time(000 到 999) g – 12 小时制,不带前导零(1 到 12) G – 24 小时制,不带前导零(0 到 23) h – 12 小时制,带前导零(01 到 12) H – 24 小时制,带前导零(00 到 23) i – 分,带前导零(00 到 59) s – 秒,带前导零(00 到 59) u – 微秒(PHP 5.2.2 中新增的) e – 时区标识符(例如:UTC、GMT、Atlantic/Azores) I(i 的大写形式)- 日期是否是在夏令时(如果是夏令时则为 1,否则为 0) O – 格林威治时间(GMT)的差值,单位是小时(实例:+0100) P – 格林威治时间(GMT)的差值,单位是 hours:minutes(PHP 5.1.3 中新增的) T – 时区的简写(实例:EST、MDT) Z – 以秒为单位的时区偏移量。UTC 以西时区的偏移量为负数(-43200 到 50400) c – ISO-8601 标准的日期(例如 2013-05-05T16:34:42+00:00) r – RFC 2822 格式的日期(例如 Fri, 12 Apr 2013 12:01:05 +0200) U – 自 Unix 纪元(January 1 1970 00:00:00 GMT)以来经过的秒数 同时,也可使用下列预定义常量(从 PHP 5.1.0 开始可用): DATE_ATOM – Atom(例如:2013-04-12T15:52:01+00:00) DATE_COOKIE – HTTP Cookies(例如:Friday, 12-Apr-13 15:52:01 UTC) DATE_ISO8601 – ISO-8601(例如:2013-04-12T15:52:01+0000) DATE_RFC822 – RFC 822(例如:Fri, 12 Apr 13 15:52:01 +0000) DATE_RFC850 – RFC 850(例如:Friday, 12-Apr-13 15:52:01 UTC) DATE_RFC1036 – RFC 1036(例如:Fri, 12 Apr 13 15:52:01 +0000) DATE_RFC1123 – RFC 1123(例如:Fri, 12 Apr 2013 15:52:01 +0000) DATE_RFC2822 – RFC 2822(Fri, 12 Apr 2013 15:52:01 +0000) DATE_RFC3339 – 与 DATE_ATOM 相同(从 PHP 5.1.3 开始) DATE_RSS – RSS(Fri, 12 Aug 2013 15:52:01 +0000) DATE_W3C – 万维网联盟(例如:2013-04-12T15:52:01+00:00) |
timestamp | 可选。规定一个整数的 Unix 时间戳。默认是当前的本地时间(time())。 |
同时,也可使用下列预定义常量(从 PHP 5.1.0 开始可用):
timestamp 可选。规定一个整数的 Unix 时间戳。默认是当前的本地时间(time())。
技术细节
返回值: | 如果成功则返回格式化的日期字符串,如果失败则报 E_WARNING 错并返回 FALSE。 |
---|---|
PHP 版本: | 4+ |
更新日志: | PHP 5.1.0:新增 E_STRICT 和 E_NOTICE 时区错误。有效范围的时间戳是从 1901 年 12 月 13 日 20:45:54 GMT 星期五 到 2038 年 1 月 19 日 03:14:07 GMT 星期二。5.1.0 之前的版本,在某些系统上(例如 Windows)时间戳被限制在从 01-01-1970 到 19-01-2038。 PHP 5.1.1:新增标准日期/时间格式常量,用于指定 format 参数。 |
常用的几个参数
Y | 4位数字年,y为2位数字,如99即1999年 |
---|---|
m | 数字月份,前面有前导0,如01。n 为无前导0数字月份 |
F | 月份,完整的文本格式,例如 January 或者 March |
M | 三个字母缩写表示的月份,例如 Jan 或者 Mar |
d | 月份中的第几天,前面有前导0,如03。j 为无前导0的天数 |
w | 星期中的第几天,以数字表示,0表示星期天 |
z | 年份中的第几天,范围0-366 |
W | 年份中的第几周,如第32周 |
H | 24小时格式,有前导0,h为12小时格式 |
G | 24小时格式,无前导0,g为对应12小时格式 |
i | 分钟格式,有前导0 |
s | 秒格式,有前导0 |
A | 大写上下午,如AM,a为小写 |
实例代码一
echo date("Y-m-d",time());
echo "<br ";
echo date("Y.m.d",time());
echo "<br ";
echo date("M d Y",time());
echo "<br ";
echo date("Y-m-d H:i",time());
OK!
实例代码二
格式化本地日期和时间,并返回格式化的日期字符串:
<?php
// 设置时区
date_default_timezone_set("PRC");
// 打印当前时间 PHP_EOL 换行符,兼容不同系统
echo date("Y-m-d H:i:s") . PHP_EOL;
echo date("Y 年 m 月 d 日 H 点 i 分 s 秒") . PHP_EOL;
// 指定时间
$time = strtotime("2018-01-18 08:08:08"); // 将指定日期转成时间戳
echo date("Y-m-d H:i:s", $time) . PHP_EOL;
?
输出如下所示:
2018-10-3 15:49:36 2018 年10 月 03 日15 点 49 分 36 秒 2018-10-3 15:49:36
代码三、通过date函数格式化时间戳
echo date(‘Y-m-d h:i:s’, time()); // 2016-12-31 05:07:05
这篇文章就介绍到这了,ZaLou.Cn小编根据多篇文章整合,希望能帮助到大家。