首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 12 小時制轉 24 小時制函式

     編輯:PHP 相關知識

PHP 12 小時制 24 小時制函式

處理使用者輸入的 12 小時制時間(如 02:30:00 pm)並轉換為 24 小時制(14:30:00)是常見需求。善用 strtotime() 解析並配合 date() 格式化,可輕鬆完成。

通用函式

<?php
function to24Hour(int|string $hour, int|string $min, int|string $sec, string $meridiem): string {
    // 補零確保兩位數
    $h = sprintf('%02d', (int)$hour);
    $m = sprintf('%02d', (int)$min);
    $s = sprintf('%02d', (int)$sec);
    $meridiem = strtolower($meridiem) === 'am' ? 'am' : 'pm';
    // strtotime 可直接解析 "HH:MM:SSam/pm"
    return date('H:i:s', strtotime("{$h}:{$m}:{$s}{$meridiem}"));
}

// 測試
echo to24Hour(1, 2, 3, 'pm');       // 13:02:03
echo to24Hour('02', '30', '00', 'pm'); // 14:30:00
?>

單一字串版本

若輸入為完整字串 "02:30:00 pm",更簡單:

function convert12to24(string $time12): string {
    return date('H:i:s', strtotime($time12));
}
echo convert12to24('02:30:00 pm'); // 14:30:00

注意事項

  • strtotime 依賴系統時區,建議先 date_default_timezone_set('UTC') 或傳入明確時區字串。
  • 輸入驗證:確保時分秒在合理範圍,meridiem 僅接受 am/pm(大小寫不敏感)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved