非标准星期编号

时间:2018-08-20 23:29:27

标签: python python-3.x date

我正在为我的大学的时间表网站构建API。默认选项是查询今天的时间表。但是,时间表系统使用的星期编号与我们通常使用的编号不同。

构建URL所需的两件事之一是星期几。

TIMETABLE_URL = 'http://timetable.ait.ie/reporting/textspreadsheet;student+set;id;{}?t=student+set+textspreadsheet&days=1-5&=&periods=3-20&=student+set+textspreadsheet&weeks={}&template=student+set+textspreadsheet'

每周编号应从此日期开始:27 Aug 2018 - 2 Sep 2018。之后,week 2将是3 Sep 2018-9 Sep 2018,依此类推。这应该是新年,31 Dec 2018-6 Jan 2019的日期应为week 19。这“一年”总共有52周。

我知道如何检查某个日期是否在上述范围之一内,但是我想避免手动设置所有日期范围。例如,我怎么能知道某个脚本是在9月12日的第3周?

1 个答案:

答案 0 :(得分:1)

使用datetime.datetime对象:

from datetime import datetime
start = datetime.strptime('20180827', '%Y%m%d')
current = datetime.strptime('20180912', '%Y%m%d')
print((current - start).days//7 +1) # The week number
# Output: 3

这也可以处理不同的年份。请注意,这仅在开始日期为星期一时有效。