hhhhhmmのように、データベースに保存されている勤務時間は勤務時間が789:07(789時間7分)です。PHPで累積時間を処理する方法
function addHours($initialTime, $endTime){
$hourStart = $this->getHoursMinutes($initialTime);
$hourEnd = $this->getHoursMinutes($endTime);
$totalMinutes = $hourStart[1] + $hourEnd[1];
$totalHours = 0;
if($totalMinutes >= 60){
$totalHours = 1;
$totalMinutes -= 60;
}
$totalHours = $hourStart[0] + $hourEnd[0];
return sprintf("%02d", $totalHours).":".sprintf("%02d", $totalMinutes);
}
substract
方法は次のとおりです:
function substractHours($initialTime, $endTime){
$hourStart = $this->getHoursMinutes($initialTime);
$hourEnd = $this->getHoursMinutes($endTime);
$totalHours = $hourEnd[0] - $hourStart[0];
$totalMinutes = $hourEnd[1] - $hourStart[1];
if($totalMinutes <0){
$totalMinutes += 60;
$totalHours--;
}
return sprintf("%02d", $totalHours).":".sprintf("%02d", $totalMinutes);
}
メソッドの動作時間を加算または減算することができ、私は時間と分で文字列を分割し、次のように操作をしたか何を仕事 私は2時間減算しなければならなかったまで:
50:00 - 50:06
を結果がでなければなりません-00:06(エクセル関数のように)しかし、私は得ました私はこの問題を解決する方法を知りません。
フォーラムや投稿のPHP関数やサンプルコードとは別の方法ですが、最大値は24:00となります。
分をデータベースに保存してから、その方法を計算するだけではどうですか?例えば789:07 = 47347分。その後数分から数時間に簡単な数学と変換が行われます:https://stackoverflow.com/questions/8563535/convert-number-of-minutes-into-hours-minutes-using-php – ctwheels
最初の変換時間:分から分まで加算または減算してから時分:分に変換します。 –
こんにちは@Cwwels。フィールドは既にテキストhh:mmとして保存されており、実際にはそれを変更するオプションはありません。ありがとう –