仕様と根拠
重なりの判定
勤務を開始から終了までの区間として扱い、同じ社員の 2 つの勤務について「開始が他方の終了より前」かつ「終了が他方の開始より後」のとき重なると判定します。13:00 に終わる勤務と 13:00 に始まる勤務のように端がちょうど接するだけなら重なりません。重なる分数も示します。
日をまたぐ勤務
終了が開始より前の時刻(例 22:00 から 06:00)なら翌日の終了として扱い、日付と時刻を通した分数で比べます。そのため、前日の夜から続く勤務と、翌朝に始まる別の勤務の重なりも見つけられます。終了だけは 24:00 も書けます。
読めない行の扱い
社員の欄が空・日付や時刻が読めない・開始と終了が同じ・列が足りない行は判定せず、行番号つきで指摘します。CSV の読み方は RFC 4180 に従います。労働時間の上限や休憩の判定はしません。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| RFC 4180 Common Format and MIME Type for Comma-Separated Values (CSV) Files | 2026年10月28日 | 2 節の 1〜7(CRLF の行区切り・見出しの行・各行の値の数・二重引用符の囲みと "" のエスケープ)。CSV の読み方だけの根拠で、勤怠や人事の判断基準ではない |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- 同じ社員の時間帯の重なりだけを見ます。1 日の労働時間の上限、休憩、休日、勤務間インターバルなどの法令上の判定はしません。
- 開始と終了の時刻は HH:MM の形だけを読みます。「9時」「午後 5 時」のような書き方は読めないため、表計算ソフトで形式をそろえてください。
- 終了が開始より前の勤務は翌日の終了として扱います。実際は 24 時間を超える勤務が書かれていても判定できません。
- ファイルは UTF-8 として読みます。Shift_JIS の CSV は文字化けするため UTF-8 で保存し直してください。
ご利用にあたって
- CSV の読み方は RFC 4180 の一般的な規則にもとづきます。勤怠システムが独自の形式で書き出した CSV は、列の並びを確かめてから使ってください。
- 結果は時間帯の重なりの検出であり、労働基準法などの適法性の判断の代わりにはなりません。