如何在 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中获取数据粘贴到网页,然后再获取网页内容

你如何在python中获取时间和日期? [复制]

如何在 Python 中获取文件的修改日期/时间? [复制]

如何在 python 中获取终端输出? [复制]

如何获取文件最后在 Python 中修改的时间? [复制]

python中的*参数(不带后缀)函数/方法是啥? [复制]