1、先导库: from datetime import datetime, timedelta, date 2、计算某一天到月底的工作日天数 def calculate_after_date_days(self,date): date_day=str(date).split('-')[-1] date = datetime.strptime(date, "%Y-%m-%d") start_date = datetime(date.year, date.month, int(date_day)) end_date = datetime(date.year, date.month + 1, 1) - timedelta(days=1) working_days = 0 while start_date <= end_date: weekday = start_date.weekday() if weekday < 5: # 周一到周五 working_days = working_days + 1 start_date += timedelta(days=1) print('当月转正后的的工作天数:',working_days) return working_days 3、计算月初到月中某天的工作日天数 def calculate_before_date_days(self,date): date_day = str(date).split('-')[-1] date = datetime.strptime(date, "%Y-%m-%d") start_date = datetime(date.year, date.month, 1) end_date = datetime(date.year, date.month, int(date_day)) working_days = 0 while start_date <= end_date: weekday = start_date.weekday() if weekday < 5: # 周一到周五 working_days = working_days + 1 start_date += timedelta(days=1) print('当月转正前的的工作天数:', working_days) return working_days 4、计算一个月的工作日天数 def calculate_total_days(self,date): date = datetime.strptime(date, "%Y-%m-%d") start_date = datetime(date.year, date.month, 1) end_date = datetime(date.year, date.month + 1, 1) - timedelta(days=1) working_days = 0 while start_date <= end_date: weekday = start_date.weekday() if weekday < 5: # 周一到周五 working_days = working_days + 1 start_date += timedelta(days=1) print('当月总的工作天数:', working_days) return working_days 5、计算一个月中两个时间之间的工作日天数 def calculate_during_date_days(self,date1,date2): date_day1 = str(date1).split('-')[-1] date1 = datetime.strptime(date1, "%Y-%m-%d") start_date = datetime(date1.year, date1.month, int(date_day1)) date_day2 = str(date2).split('-')[-1] date2 = datetime.strptime(date2, "%Y-%m-%d") end_date = datetime(date2.year, date2.month, int(date_day2)) working_days = 0 while start_date <= end_date: weekday = start_date.weekday() if weekday < 5: # 周一到周五 working_days = working_days + 1 start_date += timedelta(days=1) print('入职到离职期间工作天数:', working_days) return working_days
6、把现在的时间当作参数
update_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')