有没有功能来确定日期在一年中的哪个季度?

2022-02-20 00:00:00 python date

问题描述

我当然可以自己写,但是在我重新发明轮子之前,有没有函数已经这样做了?


解决方案

给定xdatetime.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--两个四个月季度和一个单月季度(EEP)。

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模块,用于我的(和其他人的)项目,它有许多小函数来执行所有这些日历计算--有些很复杂,有些很简单,但是没有理由反复做这些工作(即使是简单的工作),或者在这样的计算中冒错误的风险;-)。

相关文章