氚云计算请假时长的计算公式

我想要在氚云设置一个表单是用来计算请假时长的 早上七点上班 中午十一点到十二点休息 晚上五点上班,一天工作时长为九小时,请假的话要排除休息时间以及下班时间 这个计算公式应该是什么,

def calculate_leave_duration(start_time, end_time):
    work_hours_per_day = 9  # 一天的工作时长(小时)
    break_time = 1  # 休息时间(小时)
    end_of_work = 17  # 下班时间(小时)

    leave_duration = (end_time - start_time) - break_time

    if end_time > end_of_work:
        leave_duration -= (end_time - end_of_work)

    return leave_duration

# 示例使用
leave_start = 8  # 请假开始时间(早上8点)
leave_end = 16  # 请假结束时间(下午4点)

duration = calculate_leave_duration(leave_start, leave_end)
print("请假时长:", duration)