要解决这个问题,首先需要获取每位员工的任命状态和雇佣日期。然后,可以使用日期和时间函数来计算每位员工的工作年限。最后,根据每位员工的任命状态和工作年限,将员工分到不同的返回员工数量类别中。
以下是一个示例代码,演示如何实现这个解决方案:
import datetime
# 假设有一个包含员工信息的列表,其中每个元素包含员工任命状态和雇佣日期
employees = [
{'name': 'John', 'status': '正式员工', 'hire_date': datetime.datetime(2015, 3, 15)},
{'name': 'Alice', 'status': '合同员工', 'hire_date': datetime.datetime(2018, 5, 10)},
{'name': 'Bob', 'status': '正式员工', 'hire_date': datetime.datetime(2014, 9, 1)},
{'name': 'Jane', 'status': '合同员工', 'hire_date': datetime.datetime(2019, 8, 20)}
]
# 定义返回员工数量类别
return_counts = {
'0-1年': 0,
'1-3年': 0,
'3-5年': 0,
'5年以上': 0
}
# 计算每位员工的工作年限,并根据任命状态和工作年限增加返回员工数量
for employee in employees:
hire_date = employee['hire_date']
work_experience = datetime.datetime.now() - hire_date
years_of_experience = work_experience.days / 365 # 假设一年为365天
if employee['status'] == '正式员工':
if years_of_experience < 1:
return_counts['0-1年'] += 1
elif 1 <= years_of_experience < 3:
return_counts['1-3年'] += 1
elif 3 <= years_of_experience < 5:
return_counts['3-5年'] += 1
else:
return_counts['5年以上'] += 1
elif employee['status'] == '合同员工':
# 这里可以根据需要定义合同员工的返回员工数量类别
pass
# 打印返回员工数量类别
for category, count in return_counts.items():
print(category + ':', count)
这个示例代码假设每年有365天,并且只考虑了正式员工的情况。根据实际需要,你可以根据合同员工的情况定义不同的返回员工数量类别,并进行相应的计算。
上一篇:按人口范围创建索引
下一篇:按人数统计和排名子职业