使用weekday()函数编写的Python程序,可以统计一周中每天的工作时长。
发布时间:2024-01-09 00:31:13
使用weekday()函数编写的Python程序可以统计一周中每天的工作时长。weekday()函数是Python内置的日期函数,可以返回指定日期的星期几,星期一为0,星期二为1,以此类推。
下面是一个使用weekday()函数编写的Python程序示例,用于统计一周中每天的工作时长:
import datetime
# 定义一个字典,用于存储每天的工作时长
work_hours = {
0: 0, # 星期一
1: 0, # 星期二
2: 0, # 星期三
3: 0, # 星期四
4: 0, # 星期五
5: 0, # 星期六
6: 0 # 星期日
}
# 定义一个列表,用于存储每天的上班时刻
start_times = [
datetime.time(8, 0), # 星期一上班时间
datetime.time(8, 30), # 星期二上班时间
datetime.time(9, 0), # 星期三上班时间
datetime.time(8, 15), # 星期四上班时间
datetime.time(8, 45), # 星期五上班时间
datetime.time(9, 30), # 星期六上班时间
datetime.time(9, 0) # 星期日上班时间
]
# 定义一个列表,用于存储每天的下班时刻
end_times = [
datetime.time(17, 0), # 星期一下班时间
datetime.time(17, 30), # 星期二下班时间
datetime.time(18, 0), # 星期三下班时间
datetime.time(17, 15), # 星期四下班时间
datetime.time(17, 45), # 星期五下班时间
datetime.time(18, 30), # 星期六下班时间
datetime.time(18, 0) # 星期日下班时间
]
# 获取当前日期
today = datetime.date.today()
# 循环遍历一周中的每一天
for i in range(7):
# 获取当前日期加上i天的日期
date = today + datetime.timedelta(days=i)
# 获取当前日期对应的星期几
day_of_week = date.weekday()
# 获取当前日期对应的上班和下班时刻
start_time = start_times[day_of_week]
end_time = end_times[day_of_week]
# 计算工作时长
work_duration = datetime.datetime.combine(date, end_time) - datetime.datetime.combine(date, start_time)
# 将工作时长转换为小时
work_hours[day_of_week] = work_duration.total_seconds() / 3600
# 打印每天的工作时长
for day_of_week, work_hour in work_hours.items():
print(f"星期{day_of_week+1}的工作时长为:{work_hour}小时")
上述程序首先定义了一个字典work_hours,用于存储每天的工作时长,以及两个列表start_times和end_times,用于存储每天的上班和下班时刻。
然后,程序通过循环遍历一周中的每一天,获取当前日期对应的星期几。根据星期几,程序从start_times和end_times中获取对应的上班和下班时刻。
接下来,程序计算工作时长,并将工作时长转换为小时,存储在work_hours字典中。
最后,程序打印每天的工作时长。
使用上述程序可以方便地统计一周中每天的工作时长。可以根据实际情况修改start_times和end_times列表中的时刻,以适应不同的工作时间安排。
