如何在 Python 中获取一个月的第三个星期五?

新手上路,请多包涵

我正在尝试从 Yahoo! 获取股票数据Finance 使用 Python 2.7.9,但我只需要该月第 3 个星期五的数据。我有一个获取数据的函数,但需要一种获取日期的方法。我想要这样的东西:

 def get_third_fris(how_many):
    # code and stuff
    return list_of_fris

因此,调用 get_third_fris(6) 将返回当前日期后第 3 个星期五的 6 项长列表。 日期需要是 Unix 时间戳。

(我对 timedatetime 几乎没有经验,所以请解释你的代码在做什么。)

谢谢!

原文由 spelchekr 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 819
1 个回答

您可以使用 calendar 模块列出周,然后获取该周的星期五。

 import calendar

c = calendar.Calendar(firstweekday=calendar.SUNDAY)

year = 2015; month = 2

monthcal = c.monthdatescalendar(year,month)
third_friday = [day for week in monthcal for day in week if \
                day.weekday() == calendar.FRIDAY and \
                day.month == month][2]

可以 格式化为 Unix 时间戳,但这很重要。我会向您推荐 这个优秀的答案,其中包含基于您的日期是否时区感知的信息。

原文由 Adam Smith 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题