我需要在PythonHOWTO計算周和最後一天的第一個日期星期在python
計算日期星期我需要這個
year = 2012
week = 23
(a,b) = func (year,week)
print a
print b
>>>2012-04-06
>>>2012-06-10
你能幫助我嗎?
我需要在PythonHOWTO計算周和最後一天的第一個日期星期在python
計算日期星期我需要這個
year = 2012
week = 23
(a,b) = func (year,week)
print a
print b
>>>2012-04-06
>>>2012-06-10
你能幫助我嗎?
日期對象包含一個weekday()
方法。
對於星期日的星期一6,這返回0。
(從google搜索)這裏是一個解決方案:http://www.protocolostomy.com/2010/07/06/python-date-manipulation/)
我認爲這是可以做少一點冗長所以這裏是我的刺吧:
def week_magic(day):
day_of_week = day.weekday()
to_beginning_of_week = datetime.timedelta(days=day_of_week)
beginning_of_week = day - to_beginning_of_week
to_end_of_week = datetime.timedelta(days=6 - day_of_week)
end_of_week = day + to_end_of_week
return (beginning_of_week, end_of_week)
這不是在python中,但結果是相同的,我在'seq 0 52' ; ('現在','本地時間', '年初','$(($ i * 7))天')AS ws,date('now','localtime', 'start '('($ i * 7 + 7))天')as we;「; done | sqlite3這將生成SQL周限制的列表,並在第二遍我將用它作爲sumarize在第二SQL選擇我怎麼可能在這裏發送NEWLINE ?????回車未正常工作ussual –
周1 2012-01-01至2012-01-07 每週2至2012-01-08 2012-01-14 每週3至2012-01-15 2012-01-21 周4 2012-01-22到2012-01-28 每週5 2012-01-29 2012-02-04到一週 6 2012-02-05 2012-02-11到一週 7 2012-02-12至2012年-02-18 第8周2012-02-19至2012-02-25 第9周2012-02-26至2012-03-03 –
@JonatanWagner你要接受的答案嗎? –
我覺得@Anthony Sottile的答案應該是這樣的:
def week_magic(day):
day_of_week = day.weekday()
to_beginning_of_week = datetime.timedelta(days=day_of_week)
beginning_of_week = day - to_beginning_of_week
to_end_of_week = datetime.timedelta(days=6 - day_of_week)
end_of_week = day + to_end_of_week
return (beginning_of_week, end_of_week)
它的工作原理!
我認爲他正在尋找的答案是在datetime.isocalendar(datetime) 它返回一個3元組,包含ISO年份,星期編號和星期幾。
從任何特定的年份(即'2015'),可以確定第一週的第一天,然後從那裏繼續使用timedelta函數添加日期以查找請求的特定周。有了這些信息,人們就可以返回那一週的第一天和最後一天。
有點過時的答案,但有一個很好的模塊,名爲isoweek真的可以完成。要回答原始問題,你可以這樣做:
from isoweek import Week
week = Week(2012, 23)
print(week.monday())
print(week.sunday())
希望這可以幫助任何人。
這是一個漫長的屁股周 –
@Anthony,你忘了一個宣傳,或者這只是你的一個[愛好](http://xkcd.com/37/)? –
是的。 @Jonatan,[你試過什麼](http://whathaveyoutried.com)? –