2014-04-18 137 views
0
import datetime 

print datetime.datetime.now().strftime("Week of %m/%d") 
    #returns "Week of 04/18" 

我想它打印“周以4/18的4/11”(与4/13是事先正好一周) ,它需要如果一周结束于4月3日,那么它将是“3/27至4/3周”显示基于当前日期日期范围,在Python

有没有简单的方法来做到这一点?

+0

你使用什么编程语言?添加标签,并在标题中提及。 –

+0

@BasilBourque谢谢,编辑帖子显示语言 – Nexion21

回答

1

dateutil.relativedelta会做你想要什么:

import datetime 
from dateutil.relativedelta import * 

march27 = datetime.datetime(2014, 3, 27) 
print (march27 + relativedelta(weeks=+1)).strftime("Week of %m/%d") 
#prints "Week of 04/03" 
0

你可以只使用STDLIB datetime模块做到这一点:

from datetime import date, timedelta 

now = date(2014, 4, 18) 
print now.strftime('Week of %m/%d') 
# -> Week of 04/18 
weekbefore = now - timedelta(days=7) 
print "Week of {weekbefore:%m/%d} to {now:%m/%d}".format(**vars()) 
# -> Week of 04/11 to 04/18 

它的工作原理,如果now = date(2014, 4, 3)相同。在这种情况下它打印Week of 03/27 to 04/03