我需要得到星期几的整数表示。
如果我对于月份使用mydate.day
,那么我也希望能够对星期做同样的处理。
我尝试过mydate.weekday
,但这并不能给我整数表示(0代表星期日,6代表星期六)。
有什么建议吗?
我需要得到星期几的整数表示。
如果我对于月份使用mydate.day
,那么我也希望能够对星期做同样的处理。
我尝试过mydate.weekday
,但这并不能给我整数表示(0代表星期日,6代表星期六)。
有什么建议吗?
如果您正在使用datetime.datetime
,请使用datetime.datetime.weekday
方法:
>>> 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,因为该方法将星期一返回0,星期日返回6。
更新
你也可以使用datetime.datetime.isoweekday
,它将返回1表示星期一,返回7表示星期日。
>>> d.isoweekday() % 7
1
isoweekday
。 - falsetru我对你的措辞有点困惑:
(0代表星期天,6代表星期一) # 为什么星期一是6?
但我想知道你是否需要 isoweekday
:
>>> from datetime import datetime
>>> d = datetime.now()
>>> d.isoweekday()
1 # Monday
编辑:
考虑到你希望星期天为0,你应该选择falsetru的答案(在编辑后):
>>> d.isoweekday() % 7
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
mydate.weekday()
返回的结果吗?假设mydate
是一个datetime.datetime
,那么它应该可以工作... 参考 https://docs.python.org/2/library/datetime.html#datetime.date.weekday - Tom Dalton