我正在尋找一種優雅和pythonic的方式來獲得上一季度結束的日期。計算上一季度結束
事情是這樣的:
def previous_quarter(reference_date):
...
>>> previous_quarter(datetime.date(2013, 5, 31))
datetime.date(2013, 3, 31)
>>> previous_quarter(datetime.date(2013, 2, 1))
datetime.date(2012, 12, 31)
>>> previous_quarter(datetime.date(2013, 3, 31))
datetime.date(2012, 12, 31)
>>> previous_quarter(datetime.date(2013, 11, 1))
datetime.date(2013, 9, 30)
編輯:我曾嘗試什麼嗎?
是的,這似乎工作:
def previous_quarter(ref_date):
current_date = ref_date - timedelta(days=1)
while current_date.month % 3:
current_date -= timedelta(days=1)
return current_date
但似乎不必要的迭代。
你嘗試過什麼? – martineau
@martineau:見編輯。 – dgel
看看我的解決方案,如果'ref_date.month'可以被3整除...... – dgel