我需要在将存储在变量中的日期上添加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);