首页 >后端开发 >php教程 >如何在 PHP 中为日期添加'x”小时数?

如何在 PHP 中为日期添加'x”小时数?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-04 10:26:01647浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn