Python 计算日期班次:根据起始日期和班次类型获取指定日期的班次
可以使用Python的datetime模块来实现日期的加减操作。下面是一个示例函数,可以根据给定的起始日期和班次,计算出指定日期的班次:\n\npython\nfrom datetime import datetime, timedelta\n\ndef calculate_shift(start_date, shift, target_date):\n # 将起始日期和目标日期转换为datetime对象\n start_date = datetime.strptime(start_date, "%Y-%m-%d")\n target_date = datetime.strptime(target_date, "%Y-%m-%d")\n \n # 根据班次的类型,计算出需要加减的天数\n if shift == "白班":\n days = (target_date - start_date).days // 2 * 2\n else:\n days = (target_date - start_date).days // 2 * 2 + 1\n \n # 根据起始日期和班次的类型,计算出目标日期的班次\n result_date = start_date + timedelta(days=days)\n if shift == "白班":\n result_shift = "白班"\n else:\n result_shift = "晚班"\n \n # 返回结果\n return result_shift\n\n# 示例用法\nstart_date = "2023-7-15"\nshift = "白班"\ntarget_date = "2023-7-18"\nresult = calculate_shift(start_date, shift, target_date)\nprint(result) # 输出:晚班\n\n\n在这个示例中,我们首先将起始日期和目标日期转换为datetime对象,然后根据班次的类型计算出需要加减的天数。最后,根据起始日期和班次的类型,计算出目标日期的班次,并返回结果。
原文地址: https://www.cveoy.top/t/topic/pN5x 著作权归作者所有。请勿转载和采集!