我需要将整周的星期几作为整数。Python将DayOfWeek读取为整数
如果我在这个月的日子里使用以下日期mydate.day
我想在平日做同样的事情。
我试过mydate.weekday
但这并不给我整数(星期日为0,星期六为6)。
有什么建议吗?
我需要将整周的星期几作为整数。Python将DayOfWeek读取为整数
如果我在这个月的日子里使用以下日期mydate.day
我想在平日做同样的事情。
我试过mydate.weekday
但这并不给我整数(星期日为0,星期六为6)。
有什么建议吗?
如果您正在使用datetime.datetime
,使用datetime.datetime.weekday
method:
>>> d = datetime.datetime.now()
>>> d
datetime.datetime(2014, 11, 24, 22, 47, 3, 80000)
>>> d.weekday() # Monday
0
>>> (d.weekday() + 1) % 7
1
您需要(... + 1)%7,因为周一,6方法返回0代表星期日。
UPDATE
您还可以使用datetime.datetime.isoweekday
这为周一,7返回1日。
>>> d.isoweekday() % 7
1
Python在星期一使用0。请参阅weekday文档。
import datetime
now = datetime.datetime(2014, 11, 23)
print now
print now.weekday()
这是一个星期天,所以打印此:
2014-11-23 00:00:00
6
这是一个星期一的例子:
import datetime
now = datetime.datetime.now()
print now
print now.weekday()
这是一个星期一所以打印此:
2014-11-24 07:47:19.827000
0
我有点困惑你的措辞:
(0星期日到6星期一)#星期一怎么会是6?
但我不知道,如果你想在isoweekday
:
>>> from datetime import datetime
>>> d = datetime.now()
>>> d.isoweekday()
1 # Monday
编辑:
在你的欲望的光星期天为0,你应该falsetru's answer去(编辑后):
>>> d.isoweekday() % 7
或者简单地将Sund在你的代码中的其他地方可以使用0。
对不起,我的意思1日星期一和星期六6.我的坏 – phicon 2014-11-24 14:02:28
@phicon无后顾之忧。很高兴你找到你的答案。我的答案是一个很好的答案(并从我那里得到+1)。 – 2014-11-24 14:03:23
你在使用某个库还是你自己写了这个类?如果是后者,我们可以看看你是如何定义你的班级的? – CoryKramer 2014-11-24 13:46:53
import datetime // mydate = datetime.datetime.strptime('2005-01-01','%Y-%m-%d') – phicon 2014-11-24 13:47:36
你能告诉我们'mydate.weekday()'返回吗?假设'mydate'是'datetime.datetime',那么它应该工作... Ref https://docs.python.org/2/library/datetime.html#datetime.date.weekday – 2014-11-24 13:50:06