在Python中,星期几为周日= 0

kuz*_*roo 2 python datetime calendar weekday

日历模块的星期几常量以

calendar.MONDAY
Out[60]: 0
Run Code Online (Sandbox Code Playgroud)

但是,有时必须与使用约定Sunday = 0的系统(也许用JavaScript编写)进行接口。Python是否提供此类常量?

Mib*_*bou 7

我只是用它来mydate.isoweekday()完成这项工作。

def weekday_sun_zero(self, isoweekday):
    return 0 if isoweekday == 7 else isoweekday
Run Code Online (Sandbox Code Playgroud)

  • 或为简洁起见,“return isoweekday % 7” (9认同)

Mar*_*ers 5

Python标准库中没有此类常量。定义自己的方法很简单:

SUN, MON, TUE, WED, THU, FRI, SAT = range(7)
Run Code Online (Sandbox Code Playgroud)

或者,如果使用Python 3.4或更高版本,则可以使用enum模块功能API

from enum import IntEnum

Weekdays = IntEnum('Weekdays', 'sun mon tue wed thu fri sat', start=0)

weekday == Weekdays.wed
Run Code Online (Sandbox Code Playgroud)

然后您还可以通过调用enum.Enum对象将工作日整数映射到枚举值:

weekday_enum = Weekdays(weekday)
Run Code Online (Sandbox Code Playgroud)

我使用了3个字母的缩写,但是如果您觉得更易读,则可以随意使用全名。