0

私のケースであなたの助けが必要です。

条件を使用して総残業時間を計算するにはどうすればよいですか? 例 :

入力タイプを使用して、

OT From <input type="text" name="ot_from">
OT To <input type="text" name="ot_to">
Total Hours <input type="text" name="total_hours">

勤務日 : 08.00 から 17.00 (通常の勤務日) 19.00 まで働いた場合、2 時間の残業を行うと計算する必要があります。

私のルールでは、18 時から 18 時 30 分までは休憩時間なので残業を計算しません。私の総残業時間は 2 時間ではなく 1.5 時間になるはずです。

誰かが私に解決策を教えてくれますか? あなたの助けに感謝。

ありがとうございました。デビッド

4

2 に答える 2

1

これがあなたがすべきことです:

1 時間と分を合計分に分割します。

str = "1:23" or other time value

time = parseInt(str.split(":")[0], 10)*60+parseInt(str.split(":")[1], 10)

2 開始時刻から終了時刻を引きます - これが最終時刻になります。

3 分を時間に変換するには、次の手順を実行します。

minutes = time%60

hours = parseInt(time/60, 10)

実際には PHP は必要ありません。データをデータベースなどに保存するつもりがない限り、これはすべて Javascript で行うことができます。

于 2012-06-07T09:38:46.017 に答える
0

ユーザーの入力が常に同じであることを確認したい場合は、入力フィールドを選択ボックスに置き換える必要があります。次に、時間用に 1 つ、分用に 1 つの選択ボックスを作成できます。

労働時間を計算するには、次のような基本的な計算を行うことができます。

<?php
// Vars of the POST form
$otfrom_hours   = $_POST['ot_from_hours'];
$otfrom_minutes = $_POST['ot_from_minutes'];
$otto_hours     = $_POST['ot_to_hours'];
$otto_minutes   = $_POST['ot_to_minutes'];

// Make a full string for strtotime
$otfrom_string  = $otfrom_hours.":".$otfrom_minutes;
$otto_string    = $otto_hours.":".$otto_minutes;

// Basic calculation
$start          = strtotime($otfrom_string);
$end            = strtotime($otto_string);
$elapsed        = $end - $start;
echo date("H:i", $elapsed);
?>

それが役に立つことを願っています!

于 2012-06-07T09:46:31.333 に答える