Python中星期日= 0的星期常量

时间:2016-02-15 18:26:54

标签: python datetime calendar weekday

日历模块具有以

开头的星期几常量
calendar.MONDAY
Out[60]: 0

但是,有时必须与使用约定Sunday = 0的系统(可能用JavaScript编写)进行交互。是否Python提供了这样的常量?

3 个答案:

答案 0 :(得分:4)

Python标准库中没有这样的常量。然而,定义自己的东西是微不足道的:

SUN, MON, TUE, WED, THU, FRI, SAT = range(7)

或者,当使用Python 3.4或更高版本时,您可以使用enum module functional API

from enum import IntEnum

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

weekday == Weekdays.wed

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

weekday_enum = Weekdays(weekday)

我使用了3个字母的缩写,但如果你发现它更具可读性,你可以自由使用全名。

答案 1 :(得分:1)

我只是将其与mydate.isoweekday()一起使用,完成工作。

def weekday_sun_zero(self, isoweekday):
    return 0 if isoweekday == 7 else isoweekday

答案 2 :(得分:-1)

希望这会有所帮助:

from datetime import datetime
weekdays_dic ={0:'SUN', 1:'Mon', 2:'Tue',3:'Wed',4:'Thu',5:'Fri',6:'Sat'}
print weekdays_dic[datetime.today().weekday()]