
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) 
