首頁 > 後端開發 > php教程 > 如何在 PHP 中為日期加上「x」小時數?

如何在 PHP 中為日期加上「x」小時數?

Mary-Kate Olsen
發布: 2024-11-04 10:26:01
原創
690 人瀏覽過

How to Add 'x' Number of Hours to a Date in PHP?

為日期加上「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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板