我需要将 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')).
Run Code Online (Sandbox Code Playgroud)
如果 sintaxe 与上面类似,那么它可以工作,但它似乎不接受预定义的日期或变量,如下所示:
$date = "2019-11-20 05:05:00";
$new_time = date($date, strtotime('+24 hours'));
Run Code Online (Sandbox Code Playgroud)
或这个:
$new_time = date("2019-11-20 05:05:00", strtotime('+24 hours'));
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,输出与输入日期相同,但不添加 +24。
我已经尝试过该modify()方法。
$date = "2019-11-20 05:05:00";
$dateTime= new DateTime($date);
$dateTime->modify('+24 hours');
print_r($dateTime);
echo $datetime->date;
Run Code Online (Sandbox Code Playgroud)
输出(如果我打印对象):
DateTime Object
(
[date] => 2019-11-21 05:05:00.000000
[timezone_type] => 3
[timezone] => Europe/Paris
)
2019-11-21 05:05:00.000000
Run Code Online (Sandbox Code Playgroud)
输出(如果我不打印对象):
Notice: Undefined property: DateTime::$date
Run Code Online (Sandbox Code Playgroud)
它有点有效,但问题是,只有打印整个 ,我才能访问 date 属性dateTime object,这会给我的应用程序带来麻烦。除此之外,显然,这些属性并不真正存在,它们似乎更像是一个错误,因为它们在文档中没有被描述为dateTime object.
我正在尝试使用getTimestamp(),但我无法添加时间。
我怎么能这么做呢?
PHP手册有完整的例子;
<?php
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P1D'));
echo $date->format('Y-m-d') . "\n";
Run Code Online (Sandbox Code Playgroud)
的值DateInterval可以在“PT24H”中更改。在夏令时更改期间,24 小时与 1 天不同,PHP 会通过正确的时区配置为您安排。
| 归档时间: |
|
| 查看次数: |
5456 次 |
| 最近记录: |