PHP strptime() 函式



定義和用法

strptime() 函式接受一個日期字串(使用 strftime() 生成)和一個格式字串作為引數,並解析以指定格式給定的字串。

語法

strptime($date, $format)

引數

序號 引數和描述
1

date(必填)

這是一個表示要解析的日期的字串值。

2

format(必填)

這是一個表示用於解析日期的格式的字串值。

返回值

PHP strptime() 函式返回一個包含已解析日期的陣列。如果失敗,則此函式返回布林值 false。返回的陣列包含以下鍵 -

  • [tm_sec] − 秒 (0-61)
  • [tm_min] − 分鐘 (0-59)
  • [tm_hour] − 小時 (0-23)
  • [tm_mday] − 月份中的第幾天 (1-31)
  • [tm_mon] − 從一月開始的月份 (0-11)
  • [tm_year] − 從 1900 年開始的年份
  • [tm_wday] − 從星期日開始的天數 (0-6)
  • [tm_yday] − 從一月一日開始的天數 (0-365)
  • [unparsed] − 使用指定的格式未識別的日期部分(如有)

PHP 版本

此函式首次在 PHP 5.1.0 版本中引入,並適用於所有更高版本。

示例

以下示例演示了 strptime() 函式的用法 -

線上演示
<?php
   $format = '%A %d %B %G %T';
   $strf = strftime($format);
   $res = strptime($strf, $format);
   print_r($res);
?>

這將產生以下結果 -

 Array ( [tm_sec] => 26 [tm_min] => 35 [tm_hour] => 15 [tm_mday] => 13 [tm_mon] => 4 [tm_year] => 0 [tm_wday] => 3 [tm_yday] => 132 [unparsed] => )

示例

線上演示
<?php
   $format = '%d/%m/%Y %H:%M:%S';
   $strf = strftime($format);
   
   echo "$strf\n";
   
   print_r(strptime($strf, $format));
?>

這將產生以下結果 -

08/06/2020 09:10:32 Array ( [tm_sec] => 32 [tm_min] => 10 [tm_hour] => 9 [tm_mday] => 8 [tm_mon] => 5 [tm_year] => 120 [tm_wday] => 1 [tm_yday] => 159 [unparsed] => )

以下是使用 strftime 格式化日期/時間的各種字元 -

  • %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 − 上午和下午表示的時間

  • %R − 24 小時制的時間

  • %S − 秒

  • %t − 製表符

  • %T − 當前時間,等於 %H:%M:%S

  • %u − 星期幾作為數字 (1 到 7),星期一=1。警告:在 Sun Solaris 中,星期日=1

  • %U − 當前年份的週數,從第一個星期日作為第一週的第一天開始

  • %V − 當前年份的 ISO 8601 週數 (01 到 53),其中第 1 周是當前年份至少有 4 天的第一週,並且星期一作為一週的第一天

  • %W − 當前年份的週數,從第一個星期一作為第一週的第一天開始

  • %w − 星期幾作為十進位制數,星期日=0

  • %x − 首選的無時間的日期表示

  • %X − 首選的無日期的時間表示

  • %y − 不包含世紀的年份 (範圍 00 到 99)

  • %Y − 包含世紀的年份

  • %Z 或 %z − 時區或名稱或縮寫

  • %% − 一個字面上的 % 字元

php_function_reference.htm
廣告