我有一个日期时间变量,它有日期和时间,我试图用另一个日期替换日期(以免说第二天),但保持相同的时间。
我的datetime变量如调试器所示:
我想将日期更改为11-04而不是11-03(第二天,添加一天)但会保留时间,因此最终数据时间将为2017-11-04 07:15: 00.000000
答案 0 :(得分:2)
如果原始变量是PHP DateTime类的实例,则可以使用SetDate方法。它改变日期,但保留时间。
http://php.net/manual/en/datetime.setdate.php
<?php
$date = new DateTime();
echo $date->format('Y-m-d H:i:s')."\n";
$date->setDate(2001, 2, 3);
echo $date->format('Y-m-d H:i:s')."\n";
输出:
2017-11-02 22:47:34
2001-02-03 22:47:34
答案 1 :(得分:0)
有很多方法可以做到这一点
这是一个使用DateTime对象
<?php
$d = '2017-11-03 15:15:00.000000';
$dt = new DateTime($d);
echo 'Check original date ' . $dt->format('Y-m-d H:i:s.u') . PHP_EOL;;
// add 1 day
$dt->add(new DateInterval('P1D'));
echo 'New date ' . $dt->format('Y-m-d H:i:s.u');
结果:
Check original date 2017-11-03 15:15:00.000000
New date 2017-11-04 15:15:00.000000