PHP strftime() 函数用法及示例

PHP Date & Time 函数手册

strftime()函数根据区域设置格式化本地时间/日期

定义和用法

strftime函数接受格式字符串作为参数,并根据该区域设置格式化区域设置日期/时间..

语法

strftime($format [, $timestamp])

返回用给定的格式字串对给出的 timestamp 进行格式输出后的字符串。如果没有给出时间戳则用当前的本地时间。月份和星期几以及其它和语言有关的字符串写法和用 setlocale() 设定的当前的区域有关。

参数

序号参数及说明
1

timestamp(必需)

这是一个整数值,表示指定当前时间值的Unix时间戳。

2

format(可选)

这是一个字符串值,表示您需要格式化日期/时间的格式。指定如何返回结果:

  • %a - 星期几名称的简写

  • %A - 星期几名称的全称

  • %b - 月份名称的简写

  • %B - 月份名称的全称

  • %c - 首选的日期和时间表示法

  • %C - 表示世纪的数字(年份除以 100,范围从 00 到 99)

  • %d - 一个月中的第几天(01 到 31)

  • %D - 时间格式,与 %m/%d/%y 表示法相同

  • %e - 一个月中的第几天(1 到 31)

  • %g - 与 %G 表示法类似,但不带世纪

  • %G - 与 ISO 星期数对应的 4 位数年份(见 %V)

  • %h - 与 %b 表示法相同

  • %H - 小时,使用 24 小时制(00 到 23)

  • %I - 小时,使用 12 小时制(01 到 12)

  • %j - 一年中的第几天(001 到 366)

  • %m - 月份(01 到 12)

  • %M - 分

  • %n - 换行符

  • %p - 与给定的时间值相对应的 am 或 pm

  • %r - a.m. 和 p.m. 的时间标记法

  • %R - 24 小时制的时间标记法

  • %S - 秒

  • %t - tab 制表符

  • %T - 当前时间,与 %H:%M:%S 表示法相同

  • %u - 星期几的数字表示(1 到 7),Monday[星期一] = 1。警告:在 Sun Solaris 系统中,Sunday[星期日] = 1

  • %U - 当年包含的周数,从第一个星期日开始,作为第一周的第一天

  • %V - 当年包含的 ISO 8601 格式下的周数(01 到 53),week 1 表示当年的第一周,至少要有四天,且以星期一作为周的第一天

  • %W - 当年包含的周数,从第一个星期一开始,作为第一周的第一天

  • %w - 以十进制数形式表示一周中的某天,Sunday[星期日] = 0

  • %x - 首选的日期表示法,不带时间

  • %X - 首选的时间表示法,不带日期

  • %y - 不包含表示世纪的数字的年份表示(范围从 00 到 99)

  • %Y - 包含表示世纪的数字的年份表示

  • %Z 或 %z - 时区名称或简写

  • %% - 输出一个 % 字符

返回值

PHP strftime()函数返回表示格式化时间的字符串值。您可以使用setlocale()方法将月份和星期几的名称更改为其他语言。

PHP版本

此函数最初是在PHP版本5.3中引入的,并且可以在所有更高版本中使用。

在线示例

以下示例演示了strftime()函数的用法-

<?php
   $date = strftime("%A %d %B %G");
   $time = strftime("%T");
   print("Date: ".$date ."\n");
   print("Time: ".$time);
?>
测试看看‹/›

输出结果

Date: Wednesday 13 May 2020
Time: 06:28:07

在线示例

让我们通过传递时间戳参数(以及格式)来尝试此函数-

<?php
   $timestamp = mktime(7, 36, 45, 06, 25, 2017); 
   $date = strftime("%A %d %B %G %T", $timestamp );
   print("Date: ".$date ."\n");
?>
测试看看‹/›

输出结果

Date: Sunday 25 June 2017 07:36:45

在线示例

以下示例以加泰罗尼亚语打印特定日期的星期几和月份-

<?php
   setlocale(LC_TIME, 'ca_ES', 'Catalan_Spain', 'Catalan');
   $date = strftime("%A %d %B %G %T");
   print("Date: ".$date ."\n");
?>
测试看看‹/›

输出结果

Date: dimecres 13 maig 2020 08:14:19

在线示例

<?php
   setlocale(LC_TIME, 'en_US');   
   echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 2015)) . "\n";
   echo gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 2015)) . "\n"; 
?>
测试看看‹/›

这产生以下结果-

Dec 31 2015 20:00:00
Dec 31 2015 20:00:00