已编辑以反映下面建议的一些更改。
我从数据库中抽出几次和几分钟。它们在db
中看起来像这样| taskID | startTime | endTime | everyMinutes |
|________|__________________|__________________|__________________|
| 10 | 05:00:00.0000000 | 16:59:00.0000000 | 00:15:00.0000000 |
startTime
,endTime
和everyMinutes
属于varchar(16)
。不幸的是我无法改变这一点。
我在变量中包含这些值:
$strStartTime = $row['startTime'];
$strEndTime = $row['endTime'];
$strEveryMinutes = $row['everyMinutes'];
$startTime = date('H:i:s', strtotime($strStartTime));
$endTime = date('H:i:s', strtotime($strEndTime));
$everyMinutes = date('H:i:s', strtotime($strEveryMinutes));
$composite = $startTime + $everyMinutes;
echo $composite; # returns "5", should be "5:15"
我的目标是$startTime
并将其添加到$everyMinutes
,以便
echo $composite # displays "05:15:00" without all the extra 0's
答案 0 :(得分:2)
使用strtotime:
<?php
echo date('Y-m-d H:i:s', strtotime('05:00:00.000000'))."<br/>\n";
echo date('Y-m-d H:i:s', strtotime('05:00:00.000000 + 15 minutes'))."<br/>\n";
?>
输出:
2013-04-16 05:00:00
2013-04-16 05:15:00
修改:完整代码:
$startTime = date('H:i:s', strtotime($row['startTime']));
$minutes = substr($row['everyMinutes'], 3, 2); // this will cut out the minutes part. I am assuming everyMinutes is always only in minutes.
$composite = date('H:i:s', strtotime($row['startTime']." + $minutes minutes"));