计算两个日期之间的差异(不包括python中的周末)?

时间:2019-07-25 04:52:11

标签: python python-3.x pandas datetime

我想创建一个函数,该函数返回两个日期(周末和节假日除外)之间的差额吗?

例如:-01/07/2019和08/07/2019之间的差额应该使我退回5天(不包括周末(6/7/107和7/07/2019的周末))。

实现此目标的最佳方式应该是什么?

1 个答案:

答案 0 :(得分:4)

尝试使用pd.to_datetime()

使用日期格式将字符串转换为日期

使用np.busday_count来查找除周末外的几天之间的差异

import pandas as pd
import numpy as np

date1 = "01/07/2019"
date2 = "08/07/2019"

date1 = pd.to_datetime(date1,format="%d/%m/%Y").date()
date2 = pd.to_datetime(date2,format="%d/%m/%Y").date()

days = np.busday_count( date1 , date2)
print(days)
5

如果您想提供假期

holidays = pd.to_datetime("04/07/2019",format="%d/%m/%Y").date()
days = np.busday_count( start, end,holidays=[holidays] )
print(days)
4