我需要將整週的星期幾作爲整數。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