PHP 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
   //Creating a DateTime object
   $date_time_Obj = date_create("25-09-1989");
   //formatting the date/time object
   $format = 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

示例

以下示例分别将 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-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 - 月份中天数的英文序数后缀(两个字符 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 Internet 时间 (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 纪元(1970 年 1 月 1 日 00:00:00 GMT)以来的秒数

php_function_reference.htm
广告