我有一个工作日整数(0,1,2 ...),我需要得到日期名称('星期一','星期二',...)。
是否有内置的Python函数或这样做的方法?
这是我写的函数,它可以工作,但我想从内置的datetime lib中获取一些东西。
def dayNameFromWeekday(weekday):
if weekday == 0:
return "Monday"
if weekday == 1:
return "Tuesday"
if weekday == 2:
return "Wednesday"
if weekday == 3:
return "Thursday"
if weekday == 4:
return "Friday"
if weekday == 5:
return "Saturday"
if weekday == 6:
return "Sunday"
答案 0 :(得分:72)
>>> import calendar
>>> list(calendar.day_name)
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
或者,您可以使用日常名称缩写:
>>> list(calendar.day_abbr)
['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
然后按您的意愿索引:
>>> calendar.day_name[1]
'Tuesday'
(如果星期一不是一周的第一天,请使用setfirstweekday进行更改)
使用日历模块具有可识别位置的优势:
>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
'de_DE'
>>> list(calendar.day_name)
['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag']
答案 1 :(得分:11)
我一直在使用日历模块:
import calendar
calendar.day_name[0]
'Monday'
答案 2 :(得分:1)
这很容易:
week = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
week[weekday]
答案 3 :(得分:1)
您可以使用根据您的参数获得项目的列表:
def dayNameFromWeekday(weekday):
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
return days[weekday]
如果你传递了一个无效的数字,如果你传入了一个无效的数字,例如“8”,你可以在返回之前检查该项目是否存在:
def dayNameFromWeekday(weekday):
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
return days[weekday] if 0 < weekday < len(days) else None
此功能可以像您期望的那样使用:
>>> dayNameFromWeekday(6)
Sunday
>>> print(dayNameFromWeekday(7))
None
我不确定是否有办法在datetime
中内置此功能,但这仍然是一种非常有效的方法。
答案 4 :(得分:0)
您可以创建自己的列表并使用格式。
import datetime
days_ES = ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"]
t = datetime.datetime.now()
f = t.strftime("{%w} %Y-%m-%d").format(*days_ES)
print(f)
打印:
Lunes 2018-03-12
答案 5 :(得分:0)
您可以为此使用内置函数,例如假设您必须根据特定日期查找日期。
import calendar
month,day,year = 9,19,1995
ans =calendar.weekday(year,month,day)
print(calendar.day_name[ans])
calendar.weekday(年,月,日)-返回年份(1970–…),月(1–12),天(1)的星期几(0为星期一) –31)。
calendar.day_name -代表当前语言环境中星期几的数组
更多参考-https://docs.python.org/2/library/calendar.html#calendar.weekday
答案 6 :(得分:0)
您可以使用如下索引号:
FromSql