0

以下で推奨されるいくつかの変更を反映するために編集されました。

データベースから何時間も何分も引き下げています。彼らはデータベースでこのように見えます

| taskID |    startTime     |      endTime     |   everyMinutes   |
|________|__________________|__________________|__________________|
|   10   | 05:00:00.0000000 | 16:59:00.0000000 | 00:15:00.0000000 |

startTimeendTime、および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 に答える