如何在 Python 中获取最近的工作日? [复制]
Posted
技术标签:
【中文标题】如何在 Python 中获取最近的工作日? [复制]【英文标题】:How can you get the most recent business day in Python? [duplicate] 【发布时间】:2019-02-12 02:08:40 【问题描述】:如何在 python 中获取最近的工作日?
例如,如果今天是工作日,我希望将今天作为日期时间对象,但如果今天是星期日,我希望将星期五作为日期时间对象,假设星期五是最近的业务天。
谢谢,
杰克
【问题讨论】:
【参考方案1】:你可以使用:
import pandas as pd
pd.datetime.today() - pd.tseries.offsets.BDay(0)
更新
today = pd.datetime(2018,9,2)
np.where((today - pd.tseries.offsets.BDay(0)) > today,
(today - pd.tseries.offsets.BDay(1)),
(today - pd.tseries.offsets.BDay(0)))
[output]
Timestamp('2018-08-31 00:00:00')
【讨论】:
仅仅为此导入pandas
对我来说似乎有点矫枉过正,但是..
克里斯,如果我这样做 datetime.datetime(2018,9,2) - pd.tseries.offsets.BDay(0)
,我希望得到 2018 年 8 月 31 日(最近一个工作日),但我会得到 9 月 3 日(将来)。我能做些什么来纠正这个问题吗?
嘿@Jack 我更新了我的答案。它不是特别优雅,但现在应该可以解决您的问题。我去玩玩看看有没有更好的解决办法
pandas
经常被导入
嗨,克里斯,这是否包括假期,比如股市?以上是关于如何在 Python 中获取最近的工作日? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Python从Excel中获取数据粘贴到网页,然后再获取网页内容