可以使用Python的datetime模块来实现日期的加减操作。下面是一个示例函数,可以根据给定的起始日期和班次,计算出指定日期的班次:

from datetime import datetime, timedelta

def calculate_shift(start_date, shift, target_date):
    # 将起始日期和目标日期转换为datetime对象
    start_date = datetime.strptime(start_date, "%Y-%m-%d")
    target_date = datetime.strptime(target_date, "%Y-%m-%d")
    
    # 根据班次的类型,计算出需要加减的天数
    if shift == "白班":
        days = (target_date - start_date).days // 2 * 2
    else:
        days = (target_date - start_date).days // 2 * 2 + 1
    
    # 根据起始日期和班次的类型,计算出目标日期的班次
    result_date = start_date + timedelta(days=days)
    if shift == "白班":
        result_shift = "白班"
    else:
        result_shift = "晚班"
    
    # 返回结果
    return result_shift

# 示例用法
start_date = "2023-7-15"
shift = "白班"
target_date = "2023-7-18"
result = calculate_shift(start_date, shift, target_date)
print(result)  # 输出:晚班

在这个示例中,我们首先将起始日期和目标日期转换为datetime对象,然后根据班次的类型计算出需要加减的天数。最后,根据起始日期和班次的类型,计算出目标日期的班次,并返回结果

2023-7-15上白班2023-7-16上晚班 2023-7-17上白班2023-7-18上晚班只要起始日期不要天数写个函数

原文地址: https://www.cveoy.top/t/topic/h5eb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录