kuz*_*roo 2 python datetime calendar weekday
日历模块的星期几常量以
calendar.MONDAY
Out[60]: 0
Run Code Online (Sandbox Code Playgroud)
但是,有时必须与使用约定Sunday = 0的系统(也许用JavaScript编写)进行接口。Python是否提供此类常量?
我只是用它来mydate.isoweekday()完成这项工作。
def weekday_sun_zero(self, isoweekday):
return 0 if isoweekday == 7 else isoweekday
Run Code Online (Sandbox Code Playgroud)
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个字母的缩写,但是如果您觉得更易读,则可以随意使用全名。