為日期加上「x」小時數
在 PHP 中,使用 date( 即可直接取得目前日期和時間) 功能。但是,可能會出現需要透過新增特定小時數來修改此時間戳記的情況。
讓我們深入研究特定場景。假設您有一個變數 $now,其中包含格式為「Y-m-d H:m:s」的當前日期和時間,其中 $hours 是表示 24 到 800 之間的小時數的變數。任務是建立一個新變數 $ new_time 等於 $now 加上 $hours。
要實現此目的,您可以使用 strtotime() 函數。函數接受一個日期或時間字串並傳回對應的 Unix 時間戳,即自 UTC 1970 年 1 月 1 日以來的秒數。
透過組合date() 和strtotime(),可以建構所需的時間戳如下所示:
<code class="php">$new_time = date("Y-m-d H:i:s", strtotime("+$hours hours", strtotime($now)));</code>
此程式碼將$hours(以小時為單位)的值加到$now 中儲存的目前時間戳記。然後使用 date() 格式化結果以符合指定的日期和時間格式。
請記住,如果需要在傳遞給 strtotime() 的字串中包含變量,則必須使用雙引號而不是單引號並將變數名稱括在大括號中。
例如,如果$now 是包含當前時間戳的變量,則可以編寫:
<code class="php">$new_time = date("Y-m-d H:i:s", strtotime("+{$hours} hours"));</code>
但是,建議使用更健壯的變量替換方法,如:
<code class="php">$new_time = date("Y-m-d H:i:s", strtotime(sprintf("+%d hours", $hours)));</code>
此方法保證字串連接過程中發生變數插值,防止潛在的程式碼注入漏洞。
以上是如何在 PHP 中為日期加上「x」小時數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!