PHP 中的時間操作:從H:i 添加並減去30 分鐘
在PHP 中,處理與時間相關的任務對於各種任務至關重要應用程式。一種常見情況涉及修改格式為「H:i」的時間值。此格式表示以小時和分鐘為單位的時間,例如“10:00”或“13:30”。
要從這些值中加法或減去特定時間間隔,我們可以使用 strtotime() 和 date( ) 函數。但是,如果初始時間值未正確格式化為時間戳,則可能會出現一些意外行為。
讓我們考慮一個範例,我們的目標是建立兩個新值:$startTime 30 分鐘前$time 和$endTime 30 $time 後的分鐘數,其中$time 的格式為「H:i 」。
下面的程式碼片段最初看起來可能是合理的:
$startTime = date("H:i",strtotime('-30 minutes',$time));
$endTime = date("H:i",strtotime(' 30 minutes',$time));
但是,在將「10:00」作為$time 傳遞後,我們遇到了意想不到的結果:$startTime 變成“00:30”而不是預期的“09:30”,$endTime 變成“01:30”而不是“10:30”。
關鍵問題在於最初的假設 $time 是一個時間戳記。然而,它只是一個格式為“H:i”的字串。要解決這個問題,我們必須先使用 strtotime() 函數將 $time 轉換為時間戳記。
更正的程式碼:
$time = strtotime('10:00');
$startTime = date("H:i", strtotime('-30 minutes', $time));
$endTime = date("H:i", strtotime(' 30 minutes', $time));
現在,結果符合我們的預期:$startTime 變為“09:30”,$endTime變為“10:30”。透過確保 $time 從一開始就是一個時間戳,我們可以在 PHP 中執行準確的時間操作。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3