嗨我有一个从数据库中取出的日期字符串。它就像
$date = '2016-03-21 11:00:00';
我有一个从数据库中取出的时间字符串。
$time = '02:30:00'
有没有办法在PHP中添加这两个并得到这些?
$newtime = '2016-03-21 13:30:00';
答案 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);