在 PHP 中添加分钟数到日期时间

2022-08-30 07:12:37

我真的被困在将X分钟添加到日期时间,在做了大量的谷歌和PHP手动阅读之后,我似乎没有得到任何东西。

我的日期时间格式是:

2011-11-17 05:05:year-month-day hour:minute

要添加的分钟数将只是一个介于 0 和 59 之间的数字

我希望输出与添加分钟数的输入格式相同。

有人可以给我一个工作代码示例,因为我的尝试似乎没有让我去任何地方?


答案 1
$minutes_to_add = 5;

$time = new DateTime('2011-11-17 05:05');
$time->add(new DateInterval('PT' . $minutes_to_add . 'M'));

$stamp = $time->format('Y-m-d H:i');

ISO 8601 持续时间标准是一个字符串,其形式是部件被替换为指示持续时间长度的数字值。P{y}Y{m1}M{d}DT{h}H{m2}M{s}S{*}

例如,表示 1 年 2 天 5 秒。P1Y2DT5S

在上面的示例中,我们为构造函数提供(或 5 分钟)。PT5MDateInterval


答案 2

PHP的DateTime类有一个有用的修改方法,可以接收易于理解的文本。

$dateTime = new DateTime('2011-11-17 05:05');
$dateTime->modify('+5 minutes');

您还可以使用字符串插值或串联来参数化它:

$dateTime = new DateTime('2011-11-17 05:05');
$minutesToAdd = 5;
$dateTime->modify("+{$minutesToAdd} minutes");

推荐