Python将DayOfWeek检索为整数

时间:2014-11-24 13:45:36

标签: python python-datetime

我需要将星期几作为整数。

如果我使用以下日期mydate.day,我希望在工作日也这样做。

我试过mydate.weekday但是这并没有给我整数(星期日为0,星期六为6)。

有什么建议吗?

3 个答案:

答案 0 :(得分:11)

如果您使用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,因为该方法在星期一返回0,在星期日返回6。

<强>更新

您还可以使用datetime.datetime.isoweekday,其中星期一返回1,星期日返回7。

>>> d.isoweekday() % 7
1

答案 1 :(得分:4)

我对你的措辞感到有些困惑:

  

(星期日0到星期一6)#星期一怎么样6?

但我想知道你是否想要isoweekday

>>> from datetime import datetime
>>> d = datetime.now()
>>> d.isoweekday()
1                                 # Monday

修改

鉴于您希望星期日为0,您应该使用falsetru's answer(编辑后):

>>> d.isoweekday() % 7

或者只是将代码中的星期日转换为0。

答案 2 :(得分: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