查詢

strptime()函式—用法及示例

「 將格式化時間字串解析為時間陣列 」


函式名:strptime()

適用版本:PHP 5.1.0及以上版本

函式功能:將格式化時間字串解析為時間陣列

用法: strptime(string $date, string $format): array|false

引數說明:

  • $date:要解析的格式化時間字串
  • $format:時間字串的格式,與strftime()函式的格式相同

返回值:

  • 如果解析成功,返回一個包含時間資訊的關聯陣列,包括以下鍵:
    • "tm_sec":秒數(0-59)
    • "tm_min":分鐘數(0-59)
    • "tm_hour":小時數(0-23)
    • "tm_mday":一個月中的第幾天(1-31)
    • "tm_mon":月份(0-11)
    • "tm_year":年份(從1900開始計算)
    • "tm_wday":一週中的第幾天(0-6,0表示星期日)
    • "tm_yday":一年中的第幾天(0-365)
    • "unparsed":未解析的時間字串的部分
  • 如果解析失敗,返回false

示例:

$dateString = "2021-09-15";
$formatString = "%Y-%m-%d";

$timeArray = strptime($dateString, $formatString);

if ($timeArray !== false) {
    echo "解析成功!";
    echo "年份:" . $timeArray['tm_year'] + 1900 . "<br>";
    echo "月份:" . $timeArray['tm_mon'] + 1 . "<br>";
    echo "日期:" . $timeArray['tm_mday'] . "<br>";
} else {
    echo "解析失敗!";
}

輸出:

解析成功!
年份:2021
月份:9
日期:15

注意事項:

  • strptime()函式返回的時間陣列中的年份需要加上1900,月份需要加上1,以獲取正確的日期資訊。
  • 由於strptime()函式不支援解析時區、時差等資訊,可能會導致解析結果不準確,建議在需要處理時區的情況下使用更全面的日期時間處理函式。
補充糾錯
上一個函式: strrchr()函式
下一個函式: strripos()函式
熱門PHP函式
分享連結