簡體   English   中英

在Python中根據當前日期顯示日期范圍

[英]Display a range of dates based on current date, in Python

import datetime

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

我希望它打印“ 4/11到4/18的一周”(其中4/13恰好是一個星期),並且它需要考慮如果一周以4/3結束,那么它將是“ 3/27至4/3“

是否有捷徑可尋?

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"

您可以僅使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM