如何从今天开始检索日期,不包括带有日期时间的周末或 Python 中的 pandas
How to retrieve the date from today excluding weekends with datetime or pandas in Python
我想创建一个函数,它接受一个数字和 returns 今天之前的 {number} 天,不包括周末。
例如,
from datetime import date, timedelta
def get_date(days = 5):
today = date.today()
return today - timedelta(days)
当今天是2020-06-11时,应该输出2020-06-04(不包括06-06和06-07)。
我们可以BDay
from pandas.tseries.offsets import BDay
pd.to_datetime('2020-06-11')-BDay(5)
#Timestamp('2020-06-04 00:00:00')
仅使用 Python 的内置库:
from datetime import date, timedelta
def get_date(days = 5):
today = date.today()
if days == 0:
return today
retval = today
while days > 0:
retval -= timedelta(days=1)
if retval.weekday() not in [5,6]:
days -= 1
return retval
https://numpy.org/doc/stable/reference/generated/numpy.busday_offset.html
import numpy as np
from datetime import date
today = date.today()
days = -5
np.busday_offset(today,days)
我想创建一个函数,它接受一个数字和 returns 今天之前的 {number} 天,不包括周末。
例如,
from datetime import date, timedelta
def get_date(days = 5):
today = date.today()
return today - timedelta(days)
当今天是2020-06-11时,应该输出2020-06-04(不包括06-06和06-07)。
我们可以BDay
from pandas.tseries.offsets import BDay
pd.to_datetime('2020-06-11')-BDay(5)
#Timestamp('2020-06-04 00:00:00')
仅使用 Python 的内置库:
from datetime import date, timedelta
def get_date(days = 5):
today = date.today()
if days == 0:
return today
retval = today
while days > 0:
retval -= timedelta(days=1)
if retval.weekday() not in [5,6]:
days -= 1
return retval
https://numpy.org/doc/stable/reference/generated/numpy.busday_offset.html
import numpy as np
from datetime import date
today = date.today()
days = -5
np.busday_offset(today,days)