當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。