为了账号安全,请及时绑定邮箱和手机立即绑定

计算上一季度末

计算上一季度末

Smart猫小萌 2021-03-16 17:13:38
我正在寻找一种优雅而Python化的方式来获取上一季度末的日期。像这样的东西: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但这似乎是不必要的迭代。
查看完整描述

3 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

利用所涉及的数据模式,并将问题转变为表格查询-您的经典时空交易:


from datetime import date


PQTBL = (((12,31,-1),)*3 + ((3,31,0),)*3 + ((6,30,0),)*3 + ((9,30,0),)*3)


def previous_quarter(ref):

    entry = PQTBL[ref.month-1]

    return date(ref.year+entry[2], entry[0], entry[1])


查看完整回答
反对 回复 2021-03-29
  • 3 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号