我需要确定今天是否是本月的第三个星期四。什么是使用Python完成这项工作的有效方法?在Python中查找本月的第三个星期四
回答
我会做这样的事情:
from datetime import datetime
today = datetime.today()
is_third_thurs = today.weekday() == 3 and today.day >= 15 and today.day <= 21
基本上,如果今天是周四,这还不算太晚或太早它是第三个星期四,那么今天一定是第三个星期四。
它不应该是'<= 21'吗?如果我的数学没有错,22日可能是第四个星期四。 – 2014-10-02 17:53:33
你是对的!我编辑了答案,谢谢你的更正。 – 2014-10-02 17:55:48
'is_third_thurs = today.weekday()== 3和15 <= today.day <= 21' – 2014-10-02 17:57:55
继this post @ inegm的回答,您可以使用calendar
模块来解决问题:
def is_nth_weekday(daynum, nth):
if date(date.today().year, date.today().month, 1).weekday() == daynum:
nth = nth - 1
return date.today() == calendar.Calendar(daynum).monthdatescalendar(
date.today().year,
date.today().month
)[nth][0]
表达calendar.Calendar(nth).monthdatescalendar(date.today().year, date.today().month)[daynum][0]
返回对应nth
occurence的daynum
天一周的日期时间对象。在你的情况下,你想打电话is_nth_weekday(3, 3)
(因为从星期一开始计为0
,周四是3
)。
+1。这个解决方案是干净的,使用默认的库,并且不依赖于幻数,并且不太容易出现逐个错误。 – Tiago 2014-10-02 18:00:16
- 1. 用JavaScript查找本月的第二个和第四个星期二
- 2. 获取每个11月的第四个星期三R
- 3. 本月的第一个[星期一],本月的第二个[星期四]等。德尔福
- 4. vbscript asp - 每个星期四在特定的月份查找
- 5. strtotime认为“下个月的第一个星期日”=星期三?
- 6. 如何在Java 8中找到本月的第三个星期五?
- 7. SQL Server查询获得第二个星期四的月份
- 8. 在当月第四个星期六的日期
- 9. 回声每月第三个星期四开始2016年3月3日
- 10. 找到每隔第二和第四个星期四
- 11. 如何获得“每个月的第一个星期四”的DatePeriod?
- 12. 只选择每个月的第四个星期天
- 13. C#:找出哪个星期一是本月的第3个星期一?
- 14. 找到第三个星期日每个月给两个日期之间
- 15. 谷歌应用脚本触发每个月的第一个星期四
- 16. 如何在月份的上个星期三之后找到星期五?
- 17. 如何使用PHP检查本月的第一个星期六?
- 18. Quartzscheduler在月份的第一个和第三个星期一运行
- 19. 需要获取python中给定月份的上个星期四的日期吗?
- 20. 获取月份的第三个星期五
- 21. 用DateJS显示本月的最后一个星期四
- 22. 查找一个月中星期三(或其他工作日)的数量 - Oracle SQL
- 23. Cron表达式:该月的第三个星期一之后的第一个星期五
- 24. 仅启用第一和第三个星期三每个月在引导日期选择器
- 25. 给定四面体上的三个点,找到第四个
- 26. SQL - 查询当前月份前三个星期内的内容
- 27. 如何在Java 8中找到下个月的第一个星期日?
- 28. Quartz cron表达式 - 每个月的最后一个星期四
- 29. Python的检查三个列表追加到第四
- 30. 禁用每个月的第一个星期三的东西 - jQuery的?
你有没有尝试过自己? – 2014-10-02 17:44:30