PHP date_format() 函数用法及示例
date_format()函数返回根据给定格式的格式化的日期
定义和用法
该函数是DateTime :: format()函数的别名。它接受DateTime对象和格式字符串(表示所需的日期/时间格式)作为参数,以指定的格式设置对象的格式,然后返回结果。
语法
date_format($date_time_object, $format)
参数
序号 | 参数及说明 |
---|---|
1 | date_time_object(必需) 这是需要格式化的DateTime对象。 |
2 | format(必需) 这是表示所需格式的字符串。 |
返回值
PHP date_format()函数返回格式化的日期字符串
PHP版本
此函数最初是在PHP版本5.2.1中引入的,并且在所有更高版本中均可用。
在线示例
在这里尝试以下示例,我们正在创建DateTime对象并对其进行格式化-
<?php //创建一个DateTime对象 $date_time_Obj = date_create("25-09-1989"); //格式化日期/时间对象 $format = date_format($date_time_Obj, "y-d-m"); print("yy-dd-mm 格式: ".$format); ?>测试看看‹/›
输出结果
yy-dd-mm 格式: 89-25-09
在线示例
以下示例将DateTime对象的格式分别设置为日期和时间-
<?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-2019 12:50:41 GMT"); print("y-m-d 格式的日期: ".date_format($dateTimeObj, 'Y-m-d')); print("\n"); print("d/m/y 格式的日期: ".date_format($dateTimeObj, 'd/m/y')); print("\n"); print("Y-m-d H:i:s 格式的日期: ".date_format($dateTimeObj, 'Y-m-d H:i:s')); print("\n"); print("G:i:A 格式的日期: ".date_format($dateTimeObj, 'G-i-A')); ?>测试看看‹/›
输出结果
y-m-d 格式的日期: 2019-06-11 d/m/y 格式的日期: 11/06/19 Y-m-d H:i:s 格式的日期: 2019-06-11 12:50:41 G:i:A 格式的日期: 12-50-PM
在线示例
以下示例使用date_format()方法创建一个新日期-
<?php $dateSrc = '2015-04-19 12:50 GMT'; $dateTime = date_create( $dateSrc);; # 现在使用date_format()设置一个新日期; date_format($dateTime, "2000-12-12"); echo "新格式化日期为 ". $dateTime->format("Y-m-d\TH:i:s\Z"); echo "<br>"; # 使用第二个函数。 $dateTime = new DateTime($dateSrc); $dateTime->setDate( 1999, 10, 12); echo "新格式化日期为 ". $dateTime->format("Y-m-d\TH:i:s\Z"); ?>测试看看‹/›
这产生以下输出-
新格式化日期为 2005-04-19T12:50:00Z 新格式化日期为 1999-10-12T12:50:00Z
格式字符串
有一些字符具有预定义的含义,你可以使用它们来创建格式字符串,它们是:
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"
D - 星期几,三个英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小时制的小时; 如: "01" 至 "12"
H - 24 小时制的小时; 如: "00" 至 "23"
g - 12 小时制的小时,不足二位不补零; 如: "1" 至 "12"
G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"
i - 分钟; 如: "00" 至 "59"
j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"
l - 星期几,英文全名; 如: "Friday"
m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"
n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"
M - 月份,三个英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序数,二个英文字母; 如: "th","nd"
t - 指定月份的天数; 如: "28" 至 "31"
w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位数字; 如: "1999"
y - 年,二位数字; 如: "99"
z - 一年中的第几天; 如: "0" 至 "365"
U - Unix纪元以来的总秒数(格林尼治标准时间1970年1月1日00:00:00)
e - 时区标识符(例如:UTC,大西洋/亚速尔群岛)
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,2000年12月21日16:01:07 +0200)