我有一个需求,需要根据给定的日期找到已完成的季度(从一月到十二月的1到4),请注意,这不是当前的季度,而是已经完成的季度。也就是说,如果输入日期是1月1日,则已完成的季度为4而不是1。以下是我拥有的小代码片段:
>>> import datetime
>>> import math
>>> now = datetime.datetime(2015, 1, 1, 0, 0, 0, 0)
>>> present_quarter = int(math.ceil(now.month/3.))
>>> completed_quarter = (present_quarter - 1) if present_quarter != 1 else 4
>>> completed_quarter
4
然而,我需要年份,以便输出为:
2014-4
什么是最好的方法?输出是否可以保持为datetime对象而不是字符串,我的意思是Python是否支持类似于年-季度的datetime对象。
date(year, ((quarter - 1) * 3) + 1, 1)
。 - Martijn Pieters