2024-06-16 18:22:53 发布
网友
我想计算这两个日期之间的差异,但不包括周末。日期格式如下:
CreateDate - 2017-08-29 10:47:00 ResolveDate - 2017-09-23 16:56:00
还有一种使用isoweekday()的python方法:
import datetime, pprint # isoweekday: Monday is 1 and Sunday is 7 start_date = datetime.date(2017, 10, 1) end_date = datetime.date(2017, 12, 31) days = end_date - start_date valid_date_list = {(start_date + datetime.timedelta(days=x)).strftime('%d-%b-%Y') for x in range(days.days+1) if (start_date + datetime.timedelta(days=x)).isoweekday() <= 5 } print("Business Days = {}".format(len(valid_date_list)))
您可以使用numpy.busday_count:
from datetime import datetime import numpy as np create_date = "2017-08-29 10:47:00" resolve_date = "2017-09-23 16:56:00" create_datetime = datetime.strptime(create_date, '%Y-%m-%d %H:%M:%S') resolve_datetime = datetime.strptime(resolve_date, '%Y-%m-%d %H:%M:%S') print("The difference in days is: %d" % ((resolve_datetime - create_datetime).days)) print("The difference in business days is: %d") % (np.busday_count(create_datetime, resolve_datetime))
输出:
运行一个while循环,该循环不断向create_date添加+1天的timedelta。在单独的柜台记录工作日和周末。在
while
create_date
timedelta
还有一种使用isoweekday()的python方法:
您可以使用numpy.busday_count:
输出:
^{pr2}$运行一个
while
循环,该循环不断向create_date
添加+1天的timedelta
。在单独的柜台记录工作日和周末。在相关问题 更多 >
编程相关推荐