0

编辑以反映下面建议的一些更改。

我从我的数据库中提取了一些时间和几分钟。它们在数据库中看起来像这样

| 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
4

1 回答 1

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"));
于 2013-04-16T16:54:17.123 回答