2023-7-15上白班2023-7-16上晚班 2023-7-17上白班2023-7-18上晚班只要起始日期不要天数写个函数
可以使用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对象,然后根据班次的类型计算出需要加减的天数。最后,根据起始日期和班次的类型,计算出目标日期的班次,并返回结果
原文地址: https://www.cveoy.top/t/topic/h5eb 著作权归作者所有。请勿转载和采集!