當前位置: 首頁> 最新文章列表> PHP strftime()函數使用指南:日期和時間格式化詳解

PHP strftime()函數使用指南:日期和時間格式化詳解

gitbox 2025-06-18

1. 簡介

在PHP中,strftime()函數用於格式化日期和時間。它接受兩個參數:一個格式字符串和一個可選的時間戳。根據提供的格式,strftime()返回一個格式化後的日期和時間字符串。格式字符串包括一些特殊的轉換規範字符,它們以百分號(%)開頭。

2. 轉換規範字符

轉換規範字符用於指定日期和時間的格式。常見的轉換規範字符包括:

  • %a - 縮寫星期幾名稱(如:Sun到Sat)
  • %A - 星期幾的完整名稱(如:Sunday到Saturday)
  • %d - 日(01到31)
  • %m - 月份(01到12)
  • %Y - 完整的年份(如:2022)
  • %H - 小時(00到23)
  • %M - 分鐘(00到59)
  • %S - 秒(00到59)
  • %Z - 時區縮寫(如:EST、PDT)

更多的轉換規範字符,可以參考PHP官方文檔。

3. 使用示例

以下是如何使用strftime()函數獲取當前時間的示例:

 
$timestamp = time();
$date = strftime("%Y-%m-%d %H:%M:%S", $timestamp);
echo $date;
        

上述代碼將輸出當前時間,格式為“年-月-日時:分:秒”。

如果你需要獲取本地化的日期和時間格式,可以使用strftime()結合setlocale()函數。例如,下面的代碼將輸出中文格式的時間:

 
setlocale(LC_ALL, "zh_CN.utf-8");
$timestamp = time();
$date = strftime("%Y年%m月%d天 %A %X", $timestamp);
echo $date;
        

這段代碼會輸出本地化的日期和時間,格式如“2025年06月19日星期四14:30:45”。

4. 注意事項

在使用strftime()時,可能會遇到日期格式不正確的情況,這通常是由於系統的本地化設置不正確。你可以使用setlocale()函數來更改本地設置。例如,設置為美國英語的代碼如下:

 
setlocale(LC_ALL, "en_US.utf-8");
        

請注意,strftime()函數依賴於操作系統的C庫,因此不同操作系統中的行為可能略有不同。

5. 總結

strftime()函數是PHP中一個強大的工具,用於靈活地格式化日期和時間。無論是用於輸出標準格式,還是生成本地化的日期和時間,strftime()都能提供良好的支持。在使用該函數時,確保設置正確的本地環境,避免出現格式錯誤。