PHP为特定日期增加24小时



我需要在将存储在变量中的日期上添加24小时。

示例:

$date = "2019-11-20 05:05:00"; => $date = "2019-11-21 05:05:00";(已添加24小时(。

我试过一些选择,但都没有成功。

我尝试过strtotime()方法:

$new_time = date("Y-m-d H:i:s", strtotime('+24 hours')).

如果sintaxe如上所述,那么它是有效的,但它似乎不接受预定义的日期或变量,比如:

$date = "2019-11-20 05:05:00";
$new_time = date($date, strtotime('+24 hours'));

或者这个:

$new_time = date("2019-11-20 05:05:00", strtotime('+24 hours'));

在这两种情况下,输出都与输入日期相同,没有添加+24。

我已经试验了modify()方法。

$date = "2019-11-20 05:05:00";
$dateTime= new DateTime($date);
$dateTime->modify('+24 hours');
print_r($dateTime);
echo $datetime->date;

输出(如果我打印对象(:

DateTime Object
(
[date] => 2019-11-21 05:05:00.000000
[timezone_type] => 3
[timezone] => Europe/Paris
)
2019-11-21 05:05:00.000000

输出(如果我不打印对象(:

Notice:  Undefined property: DateTime::$date

它有点工作,但问题是,只有打印整个dateTime object时,我才能访问date属性,这会给我的应用程序带来麻烦。除此之外,显然,这些属性并不真正存在,它们似乎更像是一个bug,因为文档中没有将它们描述为dateTime object的属性。

我正在尝试使用getTimestamp(),但无法添加时间。

我怎么能那样做?

PHP手册有一个完整的例子;

<?php
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P1D'));
echo $date->format('Y-m-d') . "n";

DateInterval的值可以在"PT24H"中更改。在夏令时更改期间,24小时与1天不同,PHP将为您安排适当的时区配置。

如果使用DateTime对象,所要做的就是创建一个间隔,然后使用add方法。像这样:

$dateTime = new DateTime();
$interval = new DateInterval("P0Y0M0DT24H0M0S");
$dateTime->add($interval);

最新更新