用PHP添加日期和时间

时间:2016-03-22 13:55:24

标签: php

嗨我有一个从数据库中取出的日期字符串。它就像

$date = '2016-03-21 11:00:00';

我有一个从数据库中取出的时间字符串。

$time = '02:30:00'

有没有办法在PHP中添加这两个并得到这些?

$newtime =  '2016-03-21 13:30:00';

2 个答案:

答案 0 :(得分:2)

使用preg_replace转换您的$time值:

$date = '2016-03-21 11:00:00';
$time = '02:30:00';

$str = "$date + ".preg_replace( '/:(\d+):(\d+)$/',' hours, \1 minutes, \2 seconds',$time );
$date = new DateTime( $str );
echo $date->format('Y-m-d H:i:s');

将打印:

2016-03-21 13:30:00

使用preg_replace我们在02:30:00中转换02 hours, 30 minutes, 00 seconds,并将其推迟到$date,我们会获得此字符串:

2016-03-21 11:00:00 + 02 hours, 30 minutes, 00 seconds

DateTime班直接接受。

答案 1 :(得分:2)

我确信有更好的方法可以做到这一点,但是:

$date = new DateTime($time);

$int = new DateInterval($date->format("\P\TH\Hi\Ms\S"));

$dateTime = new DateTime($date);

return $dateTime->add($int);