投稿/コメントを表示します。

Nativeな時刻を使用し、勤務時間・深夜勤務時間を計算するものを作成してみました。(^^)
from datetime import datetime, timedelta

print("あなたの勤務時間、深夜勤務時間を計算します。(深夜勤務は22:00-5:00までの勤務)")
s_input_time = input('開始時刻を入力して下さい。例:8時15分の場合、8:15')
e_input_time = input('終了時刻を入力して下さい。例:8時15分の場合、8:15')

s_time = datetime.strptime(s_input_time, '%H:%M')
e_time = datetime.strptime(e_input_time, '%H:%M')
b_time = timedelta(hours=1)

ten_pm = datetime.strptime("22:00", '%H:%M')
five_am = datetime.strptime("5:00", '%H:%M')

#深夜勤務対応処理
if e_time < s_time:
    e_time = e_time + timedelta(days=1)

#深夜勤務の判定
if ten_pm <= s_time or s_time < five_am or ten_pm <= e_time or e_time < five_am:
    print("深夜勤務です。")

#深夜手当対象時間:22:00〜5:00の間
if ten_pm > s_time and ten_pm <= e_time:
    night_work = e_time - ten_pm
    print(f"深夜手当対象は、{night_work}時間です。")
elif ten_pm <= s_time and ten_pm <= e_time:
    night_work = e_time - s_time
    print(f"深夜手当対象は、{night_work}時間です。")
elif ten_pm <= s_time and e_time <= five_am:
    night_work = e_time - s_time
    print(f"深夜手当対象は、{night_work}時間です。")
elif s_time <= five_am and e_time <= five_am:
    night_work = e_time - s_time
    print(f"深夜手当対象は、{night_work}時間です。")
elif s_time <= five_am and e_time > five_am:
    night_work = five_am - s_time
    print(f"深夜手当対象は、{night_work}時間です。")

#intervalは、timedelta
interval = e_time - s_time

#intervalの時間を求める
interval_hours = interval.total_seconds() // 60 // 60

#勤務時間が6時間以上の場合、勤務時間から1時間(休憩時間)を引く
if interval_hours >= 6:
    interval = interval -b_time
    print("6時間以上なので、勤務時間から休憩時間(1時間)をひきます。")

print(f"あなたの勤務時間は{interval}です。")

2022/08/09 11:15