将日期替换为另一个日期,但保持PHP的同一时间

时间:2017-11-02 23:26:17

标签: php date datetime

我有一个日期时间变量,它有日期和时间,我试图用另一个日期替换日期(以免说第二天),但保持相同的时间。

我的datetime变量如调试器所示:

enter image description here

我想将日期更改为11-04而不是11-03(第二天,添加一天)但会保留时间,因此最终数据时间将为2017-11-04 07:15: 00.000000

2 个答案:

答案 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