如何在 PHP 中将小时数与现有日期时间相加?

Chi*_*235 1 php time datetime

我有两个字段存储数据,例如2018-03-26 11:20:3502:25:10(2 小时 25 分钟 10 秒),第一个数据是日期和时间。第二个只是时间。我想总结一下,最后我的结果应该2018-03-26 13:45:45

如何在 php 代码中做到这一点?

我已经尝试过这种方式:

<?php
$date = '2018-03-26 11:20:35';
//echo $date;
//echo "<br>";
$hours = '02:25:10'; /* this data dynamic */
$sumTime = strtotime($date) + strtotime($hours);
$new_time = date("Y-m-d H:i:s", $sumTime);
echo $new_time;
Run Code Online (Sandbox Code Playgroud)

输出:

Warning: date() expects parameter 2 to be integer, float given in C:\my-project-path\test.php on line 7
Run Code Online (Sandbox Code Playgroud)

u_m*_*der 5

这是一个简单的解决方案,跳过一些检查:

// convert your date to DateTime object
$date = '2018-03-26 11:20:35';
$dt = new DateTime($date);

// convert your period to DateInterval
$hours = '02:25:10'; /* this data dynamic */
$parts = explode(':', $hours);
$interval = new DateInterval('PT' . (int)$parts[0] . 'H' . $parts[1] . 'M' . $parts[2] . 'S');

// Add interval to date
$dt->add($interval);
// Format date as you need
echo $dt->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)