当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP strftime()用法及代码示例


strftime()函数是PHP中的一个内置函数,可根据语言环境设置来格式化本地时间或日期,即,为一个地方的位置设置格式化本地时间或日期。

用法:

strftime( $format, $timestamp ) 

参数:该函数接受上述和以下所述的两个参数:

  • $format:此参数定义日期和时间的格式,它是必填参数。
  • $timestamp:可选的timestamp参数是一个整数Unix时间戳,如果未提供时间戳,则默认为当前本地时间。换句话说,它默认为time()的值。

返回值:它使用给定的$timestamp返回格式化为$format的字符串(如果明确提到,否则需要默认时间)。月份和工作日名称以及其他与语言相关的字符串会遵循使用setlocale()设置的当前语言环境。

例:



<?php 
  
// This program prints the current day  
setlocale(LC_TIME, "C"); 
echo strftime("%A"); 
?>

输出:

Thursday

格式:以下是可以添加到$format中以获取所需输出的值。

  • 小时格式:
    FORMAT DESCRIPTION EXAMPLE
    %H 以24小时制表示小时的两位数,就像火车计时格式一样。 00至23
    %k 24小时制的小时,空格前加一位数字 0至23
    %I 以12小时格式表示小时的两位数字 01至12
    %l 12小时格式表示,空格前加一位数字。 1,2,3,。,12
    %M 分钟的两位数表示 00至59
    %p 大写字母“ AM”或“ PM”基于给定时间,即上午AM后11:59,之前AM。 上午0:31,下午22:23
    %P 小写的‘am’或‘pm’(基于给定的时间),在will pm之后将是am 11:59。 上午为00:31,下午为22:23
    %r 与“%I:%M:%S%p”相同 14:22:22下午02:22:22
    %R 与“%H:%M”相同 00:44(上午12:44),17:45(下午5:45)
    %S 它是秒的两位数表示。 00至59
    %T 与“%H:%M:%S”相同 20:24:37下午08:24:37
    %X 它表示基于区域设置的首选日期表示形式,没有日期。 04:44:16或16:44:16
    %z 时区偏移量。未按照Windows所述实现。请参阅下面的详细信息。 美国东部时间0500
    %Z 通过减少2或3个字符来表示时区。 美国东部时间
  • 时间和日期戳的格式:
    FORMAT DESCRIPTION EXAMPLE
    %c 基于区域设置的首选日期和时间戳。 2009年1月5日星期二00:55:25,2009年1月5日上午12:55:25
    %D 与“%m/%d/%y”相同 2009年1月5日为01/05/2009
    %F 与数据库日期戳中使用的“%Y-%m-%d”相同。 2009年1月5日为2009-01-05
    %s Unix Epoch Time时间戳与time()函数相同。 2020年2月27日下午15:3763764
    %x 首选日期表示形式,不带基于区域设置的时间。 2009年1月5日,2009年1月5日
  • 日格式:
    FORMAT DESCRIPTION EXAMPLE
    %a 它减少了日期名称的文本表示形式。 周日,周一...
    %A 这是全天名称的文字表示。 星期天星期一,..
    %d 即使第一天如01一样,它也以两位数表示一天。 01至31。
    %e 它以一位数字表示日期,但表示当前月份的第十天(如10)。 1至31。
    %j 即使第一天如001,它也以三位数表示年份。 001至366。
    %u ISO-8601星期几的数字表示。 周一1到周日7。
    %w 它是星期几从0开始的数字表示。 星期日为0,星期六为6。
  • 周格式:
    FORMAT DESCRIPTION EXAMPLE
    %U 给定年份的周数,从第一个星期日开始为第一个星期 13一年的第13个整周,
    %V 给定年份的ISO-8601:1988周号,从该年的第一周开始,至少要有4个工作日,而星期一是该周的开始 01到53,其中53表示重叠的一周。
    %W 它是一年中某周的数字表示形式,从第一个星期一开始,像%U一样是第一周。 46,一年中的第46周,从星期一开始。
  • 月格式:
    FORMAT DESCRIPTION EXAMPLE
    %b 它减少了基于区域设置的月份名称的文本表示形式。 一月,二月...
    %B 它是根据语言环境显示的完整月份名称的文字表示。 一月二月, ..
    %h 它根据语言环境(%b的别名)减少了月份名称的文本表示形式。 一月,二月,..
    %m 它以两位数表示一天,甚至一个月也代表01。 01代表一月,02代表二月,依此类推。
  • 年份格式:
    FORMAT DESCRIPTION EXAMPLE
    %C 它以两位数表示世纪(年除以100,截断为整数)。 20世纪19
    %g 按照ISO-8601:1988标准,它以两位数表示年份(请参见%V) 2009年1月6日所在的周为09
    %G 它是%g的完整four-digit版本。 2008年为2009年1月3日所在的周
    %y 它是年份的两位数表示。 2009年为09,1979年为79
    %Y 年份的四位数表示 2038
  • 其他格式:
    FORMAT DESCRIPTION
    %n 它是换行符(“\n”)
    %t 它是一个制表符(“\t”)
    %% 它是一个文字百分比字符(“%”)

以下示例说明了strftime()在php中的应用:
范例1:一个简单的程序来显示提供给它的日期和时间。

<?php 
  
// Displays the date  
echo strftime("%d, %B, %Y", strtotime("01/03/2004")); 
  
// Displays the time 
echo strftime("   %I:%M  %p", strtotime("21:34")); 
?>

输出:

03, January, 2004 09:34 PM

范例2:本示例显示特定区域的时间(为此使用了附加函数setlocale()。要使setlocale()工作,服务器应支持语言环境。)

<?php 
  
// Setting locale to german 
setlocale(LC_ALL, "de"); 
echo strftime("The current german time is %r"); 
  
// Setting locale to english  
setlocale(LC_ALL, "en"); 
echo strftime(" and the current english time is %r"); 
?>

输出:

The current german time is 22:14:20 and the current english time is 10:14:20 PM

参考: https://www.php.net/manual/en/function.strftime.php




相关用法


注:本文由纯净天空筛选整理自vanshikagoyal43大神的英文原创作品 PHP | strftime() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。