PHP date_format() 函数
定义和用法
该函数是 DateTime::format() 函数的别名。它接受一个 DateTime 对象和一个格式字符串(表示所需的日期/时间格式)作为参数,以指定的格式格式化该对象,并返回结果。
语法
date_format(date_time_object,format)
参数
序号 | 参数与描述 |
---|---|
1 | date_time_object(必填) 这是您需要格式化的日期时间对象。 |
2 | format(必填) 这是表示所需格式的字符串。 |
返回值
PHP date_format()函数返回格式化后的日期字符串
PHP版本
此函数首次在PHP版本5.2.1中引入,适用于所有后续版本
示例
在此处尝试以下示例,我们将创建一个DateTime对象并进行格式化-
<?php
//Creating a DateTime object
date_time_Obj = date_create("25-09-1989");
//formatting the date/time objectformat = date_format(date_time_Obj, "y-d-m");
print("Date in yy-dd-mm format: ".format);
?>
这将产生以下结果 –
Date in yy-dd-mm format: 89-25-09
示例
<?php
dateString = '11-06-2012 12:50:41 GMT';dateTimeObj = date_create(dateString);date = date_format(dateTimeObj, 'd-m-y');
print("Date: ".date);
print("\n");
time = date_format(dateTimeObj, 'H:i:s');
print("Time: ".$time);
?>
这将产生以下结果−
Date: 11-06-12
Time: 12:50:41
示例
以下示例演示了PHP中几个有效的格式字符串:
<?php
dateTimeObj = date_create("11-06-2012 12:50:41 GMT");
print("Date in y-m-d format: ".date_format(dateTimeObj, 'Y-m-d'));
print("\n");
print("Date in d/m/y format: ".date_format(dateTimeObj, 'd/m/y'));
print("\n");
print("Date in Y-m-d H:i:s format: ".date_format(dateTimeObj, 'Y-m-d H:i:s'));
print("\n");
print("Date in G:i:A format: ".date_format($dateTimeObj, 'G-i-A'));
?>
这将产生以下结果:
Date in y-m-d format: 2012-06-11
Date in d/m/y format: 11/06/12
Date in Y-m-d H:i:s format: 2012-06-11 12:50:41
Date in G:i:A format: 12-50-PM
示例
以下示例使用date_format()方法创建一个新日期:
<?php
dateSrc = '2005-04-19 12:50 GMT';dateTime = date_create( dateSrc);;
# Now set a new date using date_format();
date_format(dateTime, 2000, 12, 12);
echo "New Formatted date is ". dateTime->format("Y-m-d\TH:i:s\Z");
echo "
";
# Using second function.dateTime = new DateTime(dateSrc);dateTime->setDate( 1999, 10, 12);
echo "New Formatted date is ". $dateTime->format("Y-m-d\TH:i:s\Z");
?>
这将产生以下输出−
New Formatted date is 2000-12-12T12:50:00Z
New Formatted date is 1999-10-12T12:50:00Z
格式化字符串
有一些字符具有预定义的含义,您可以使用这些字符来创建格式化字符串。它们包括:
- d − 月份中的日期(从 01 到 31)
-
D − 日期的文本表示(三个字母)
-
j − 月份中的日期,不带前导零(1 到 31)
-
l (小写的 ‘L’) − 日期的完整文本表示
-
N − 日期的 ISO-8601 数字表示(从 1 代表星期一到 7 代表星期日)
-
S − 日期的英语序数后缀(2 个字符:st, nd, rd 或者 th。与 j 结合使用效果最好)
-
w − 日期的数字表示(0 代表星期日到 6 代表星期六)
-
z − 一年中的第几天(从 0 到 365)
-
W − ISO-8601 年的周数(以星期一开始)
-
F − 月份的完整文本表示(从一月到十二月)
-
m − 月份的数字表示(01到12)
-
M − 月份的短文本表示(三个字母)
-
n − 月份的数字表示,没有前导零(1到12)
-
t − 给定月份的天数
-
L − 是否是闰年(如果是闰年为1,否则为0)
-
o − ISO-8601的年份
-
Y − 年份的四位数表示
-
y − 年份的两位数表示
-
a − 小写的am或pm
-
A − 大写的AM或PM
-
-
B − Swatch互联网时间(000至999)
-
g − 小时12小时制(1至12)
-
G − 小时24小时制(0至23)
-
h − 小时12小时制(01至12)
-
H − 小时24小时制(00至23)
-
i − 分钟数,带前导零(00至59)
-
s − 秒数,带前导零(00至59)
-
e − 时区标识符(示例:UTC,Atlantic/Azores)
-
I(大写i)− 日期是否处于夏令时(仅当夏令时时为1,否则为0)
-
O − 相对于格林尼治时间(GMT)的小时差(示例:+0100)
-
T − PHP机器的时区设置(示例:EST,MDT)
-
Z − 时区偏移(以秒为单位)。UTC西面的偏移是负值,UTC东面的偏移是正值(-43200到43200)
-
c − ISO-8601日期(例如2004-02-12T15:19:21+00:00)
-
r − RFC 2822格式的日期(例如Thu, 21 Dec 2000 16:01:07 +0200)
-
U − Unix纪元(January 1 1970 00:00:00 GMT)至今的秒数