計算方法・方法論
このページでは、本サイトの各計算ツールが内部でどのように時間を処理しているかを説明します。計算結果の正確性を自分で検証したい方、またはプログラム的な実装に関心がある方向けの内容です。
基本的な計算方式
秒単位への変換
すべての時刻と時間は、まず秒単位の整数に変換してから計算します。HH:MM形式の入力は 時 × 3600 + 分 × 60 で秒に変換します。これにより60進法の繰り上げや繰り下げを整数演算で正確に処理できます。
17:30 → 17 × 3600 + 30 × 60 = 63,000秒
経過秒数:63,000 − 32,400 = 30,600秒
結果:30,600 ÷ 3600 = 8時間30分
日またぎシフトの処理
退勤時刻の秒数が出勤時刻の秒数以下の場合、退勤時刻に86,400秒(24時間)を加算してから差を計算します。これにより23:00出勤・07:00退勤のような翌日退勤が正確に処理されます。
25,200 ≤ 82,800 のため日またぎと判定
25,200 + 86,400 = 111,600秒
経過:111,600 − 82,800 = 28,800秒 = 8時間
休憩時間の控除
休憩時間も同じく秒単位に変換し、経過秒数から差し引きます。控除後の値が負になる場合はエラーとして処理します。
入力値の検証
すべての入力フィールドは送信前に以下のルールで検証します。時(HH)は0〜23の範囲、分(MM)は0〜59の範囲、秒(SS)は0〜59の範囲で入力してください。範囲外の値が入力された場合は計算を実行せず、エラーメッセージで具体的な原因を表示します。
全角数字・全角コロンは自動で半角に変換されます。スペースは除去されます。
端数処理(丸め計算電卓)
勤怠丸め計算電卓では、指定した単位(1・5・10・15・30・60分)と丸めモード(四捨五入・切り上げ・切り捨て)を組み合わせて処理します。四捨五入は単位の半分以上で切り上げ、未満で切り捨てとして実装しています。たとえば15分単位の四捨五入では、7分30秒以上を15分に切り上げ、7分29秒以下を0分に切り捨てます。
深夜時間帯の計算(夜勤電卓)
夜勤・日またぎの時間計算電卓では、労働基準法第37条に基づく深夜時間帯(22:00〜翌05:00)との重複時間を計算します。シフト時間帯と深夜時間帯の重複は、両区間の開始の最大値から終了の最小値を引くことで求めます。複数の24時間オフセットを考慮して重複を積算します。