PHP date 函数详解
一、函数功能:
将 unix 数字时间戳转换为指定格式的时间日期字符串。转载请注明出处,爱E族:aiezu.com
二、函数语法:
三、参数介绍:
1、函数参数:
2、$format参数中的特殊字符:
下面是$format时间日期格式化参数中的特殊字符,本函数自动会将字符替换为对应的值:
3、标准时间格式化常量:
下面是几个标准时间格式化常量,PHP5.1.1起可用,可以直接做为$format参数使用。
四、返回值:
五、用法举例:
1、常见日期时间格式:
2、日期时间格式化常量:
3、转义字符:
可以在特殊字符前面加反斜杠"\",把特殊字符转换为普通字符。
将 unix 数字时间戳转换为指定格式的时间日期字符串。转载请注明出处,爱E族:aiezu.com
二、函数语法:
string date ( string $format [, int $timestamp ] )
三、参数介绍:
1、函数参数:
参数名 | 描述 |
---|---|
$format | 返回时间日期的格式; |
$timestamp | 可选参数,unix时间戳(GMT时间1970-01-01 0:0:0到某个时间的秒数),默认当前时间的时间戳; |
2、$format参数中的特殊字符:
下面是$format时间日期格式化参数中的特殊字符,本函数自动会将字符替换为对应的值:
字符 | 描述 |
---|---|
c | ISO-8601规范的日期和时间,如:2014-08-12T20:20:45+00:00(PHP5新加) |
r | RFC-2822定义的日期和时间,如:Thu, 21 Dec 2020 16:01:07 +0200 |
年: | |
L | 是否为闰年,闰年则返回 1,否则返回 0 |
y | 年份,两位数字,如:98,16 |
Y | 年份,四位数字,如:1998,2016 |
o | 年份,同Y格式。但是当一周跨越两年时,o会返回此周起始年的年份(ISO-8601规范,PHP5.1新加) |
I | 如果启用夏时制则返回 1,否则返回 0 |
月: | |
m | 月份的数字表示(从01到12) |
n | 月份的数字表示(从1到12) |
F | 月份英文全拼(从January到December) |
M | 月份英文简拼(从Jan到Dec) |
周: | |
W | 当年的第几周,当一周跨越两年时,此周算在上一年中(ISO-8601标准) |
N | 数字表示的星期几,从1(星期一)到7(星期日)(ISO-8601标准,PHP5.1新加) |
D | 星期几的英文简称(从Mon到Sun) |
l | 星期几的英文全称(从Sunday到Saturday) |
w | 星期中的第几天(星期天是 0) |
天: | |
z | 一年中的第几天(从0到365) |
t | 本月的总天数,可能的值:28,29,30,31 |
d | 一个月中的第几天(从01到31) |
j | 一个月中的第几天(从1到31) |
S | 一个月中的第几天,2个字符表示的英语序数词,如:st,nd,rd,th,可以和配合j使用。 |
a | 上午还是下午(am 或 pm) |
A | 上午还是下午(AM 或 PM) |
时分秒: | |
h | 小时(从01到12) |
H | 小时(从00到23) |
g | 小时(从1到12) |
G | 小时(从0到23) |
i | 分钟 |
s | 秒数 |
U | unix时间戳,从Unix纪元(GMT时间1970-01-01 00:00:00)起的秒数,和“time()”函数作用相同。 |
u | 毫秒,如:654321(PHP 5.2.2 新加) |
时区: | |
T | 时区缩写,如:EST, MDT... |
e | 时区标识,如: PRC, UTC, GMT, Asia/Shanghai(PHP 5.1.0 新加) |
O | 与GMT(格林威治时间)的时差,以小时为单位,如:+0200 |
P | 与GMT(格林威治时间)的时差,包括小时和分钟,如:+02:00(PHP5.1.3新加) |
Z | 与GMT(格林威治时间)的时差,以秒为单位的时区偏移量 |
B | 斯沃琪因特网时间(从000到999) |
3、标准时间格式化常量:
下面是几个标准时间格式化常量,PHP5.1.1起可用,可以直接做为$format参数使用。
常量 | 标准 | 示例 |
---|---|---|
DATE_ATOM | Atom | 2005-08-15T15:52:01+00:00 |
DATE_RFC3339 | 等同于DATE_ATOM | PHP 5.1.3起可用 |
DATE_COOKIE | HTTP Cookies | Monday, 15-Aug-2005 15:52:01 UTC |
DATE_ISO8601 | ISO-8601 | 2005-08-15T15:52:01+0000 |
DATE_RFC822 | RFC 822 | Mon, 15 Aug 05 15:52:01 +0000 |
DATE_RFC850 | RFC 850 | Monday, 15-Aug-05 15:52:01 UTC |
DATE_RFC1036 | RFC 1036 | Mon, 15 Aug 05 15:52:01 +0000 |
DATE_RFC1123 | RFC 1123 | Mon, 15 Aug 2005 15:52:01 +0000 |
DATE_RFC2822 | RFC 2822 | Mon, 15 Aug 2005 15:52:01 +0000 |
DATE_RSS | RSS | Mon, 15 Aug 2005 15:52:01 +0000 |
DATE_W3C | World Wide Web Consortium | 2005-08-15T15:52:01+00:00 |
四、返回值:
返回格式化后的日期时间的字符串; 如果 $timestamp 参数不是一个有效数值,则返回 false 并引发 E_WARNING 级别的错误。
五、用法举例:
1、常见日期时间格式:
<?php //爱E族: aiezu.com date_default_timezone_set('PRC'); $date = '2012/12/23 23:24:25'; echo date("Y-m-d H:i:s\n", strtotime($date)); echo date("Y-m-d\n", strtotime($date)); echo date("H:i:s\n", strtotime($date)); echo date("h:i:s\n", strtotime($date)); echo date("c\n", strtotime($date)); echo date("r\n", strtotime($date));输出:
2012-12-23 23:24:25 2012-12-23 23:24:25 11:24:25 2012-12-23T23:24:25+08:00 Sun, 23 Dec 2012 23:24:25 +0800
2、日期时间格式化常量:
<?php //爱E族 aiezu.com date_default_timezone_set('PRC'); echo sprintf("DATE_RFC850格式: %s\n", date(DATE_RFC850)); echo sprintf(" DATE_W3C格式: %s\n", date(DATE_W3C, strtotime('2020-12-12 12:12:12')));输出:
DATE_RFC850格式: Monday, 07-Nov-16 12:29:42 CST DATE_W3C格式: 2020-12-12T12:12:12+08:00
3、转义字符:
可以在特殊字符前面加反斜杠"\",把特殊字符转换为普通字符。
<?php //爱E族: aiezu.com date_default_timezone_set('PRC'); echo date("\Y-\m-\d \H:\i:\s -> Y-m-d H:i:s");输出:
Y-m-d H:i:s -> 2016-11-07 12:33:12