问题描述
给定一个实例x
的datetime.date,(x.month-1)//3
会给你的四分之一(0第一季度,1第二季度,等等-加1,如果你需要从1计数,而不是;-)。
最初有两个答案,乘以赞成票,甚至最初被接受(目前都已删除),但存在很多问题--1
除法之前不进行除法,而是除以4而不是3。从.month
1到12,可以很容易地检查一下自己的公式是什么对:
for m in range(1, 13):
print m//4 + 1,
print
给出1 1 1 2 2 2 2 3 3 3 3 4
-两个四个月的季度和一个月的季度(深度)。
for m in range(1, 13):
print (m-1)//3 + 1,
print
给1 1 1 2 2 2 3 3 3 4 4 4
-现在看起来这对您来说不是很可取吗?-)
我认为,这证明了这个问题是正确的;-)。
我认为datetime模块不一定必须具有所有可能有用的日历功能,但是我确实知道我在工作中维护了一个(经过良好测试;-)datetools
模块以供我(和其他人)项目使用。执行所有这些日历计算的函数-
有些复杂,有些简单,但是没有理由一遍又一遍地进行工作(甚至是简单的工作),也没有理由冒这样的错误;-)。
解决方法
当然,我可以自己写这个,但是在我重新发明轮子之前,已经有一个已经做到这一点的功能了吗?