如何在日历模块 Python 中将默认的第一个工作日编号更改为 0

san*_*eep 4 python django calendar date

我在我的代码中实现了一个逻辑,我需要计算日期/天,将星期日作为一周的开始日。当我使用此代码时

import calendar
day_number = calendar.weekday(2014, 01, 19)
Run Code Online (Sandbox Code Playgroud)

它返回的 day_number 为 6,但我需要它应该返回为 0,因为 2014 年 1 月 19 日是星期日。

我也尝试使用这个:

calendar.setfirstweekday(calendar.SUNDAY)
Run Code Online (Sandbox Code Playgroud)

但是星期天数仍然为6。是否有任何设置可以将星期日数设置为0,并且星期数应如下所示

'sun': 0, 
'mon': 1,
'tue': 2,
'wed': 3,
'thu': 4,
'fri': 5,
'sat': 6,
Run Code Online (Sandbox Code Playgroud)

fal*_*tru 5

setfirstweekday仅影响显示功能,例如prmonth

>>> calendar.prmonth(2014, 1)
    January 2014
Mo Tu We Th Fr Sa Su
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
>>> calendar.setfirstweekday(calendar.SUNDAY)
>>> calendar.prmonth(2014, 1)
    January 2014
Su Mo Tu We Th Fr Sa
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Run Code Online (Sandbox Code Playgroud)

使用模数怎么样?

>>> (calendar.weekday(2014, 1, 19) + 1) % 7
0
Run Code Online (Sandbox Code Playgroud)