将“x”小时数添加到日期

2022-08-30 08:06:50

我目前有php返回当前日期/时间,如下所示:

$now = date("Y-m-d H:m:s");

我想做的是有一个新的变量等于,其中是从24到800的小时数。$new_time$now + $hours$hours

有什么建议吗?


答案 1

您可以使用类似 strtotime() 函数的东西来向当前时间戳添加一些内容。.$new_time = date("Y-m-d H:i:s", strtotime('+5 hours'))

如果你在函数中需要变量,你必须使用双引号,然后像 ,无论你使用得更好。strtotime("+{$hours} hours")strtotime(sprintf("+%d hours", $hours))


答案 2

另一个解决方案(面向对象)是使用 DateTime::add

例:

<?php

$now = new DateTime(); //now
echo $now->format('Y-m-d H:i:s'); // 2021-09-11 01:01:55

$hours = 36; // hours amount (integer) you want to add
$modified = (clone $now)->add(new DateInterval("PT{$hours}H")); // use clone to avoid modification of $now object
echo "\n". $modified->format('Y-m-d H:i:s'); // 2021-09-12 13:01:55

运行脚本



推荐