我想找到一年中的第一天"发生在两个日期之间。
实施例。
service_start = datetime.date(2012, 5, 6)
service_end = datetime.date(2015, 7, 24)
我想看到的是在上述范围之间出现January 1st
次的次数。在上面的例子中,答案将是3
答案 0 :(得分:3)
我不知道我是否正确理解了这个问题,但是...我认为你可以通过获得这些年份之间的差异来做到这一点,只有第一个日期从1月1日开始的特殊情况,你在哪里添加一个。
service_start = datetime.date(2012, 5, 6)
service_end = datetime.date(2015, 7, 24)
first_days = (service_end.year - service_start.year) + (1 if service_start.month == 1 and service_start.day == 1 else 0)
答案 1 :(得分:0)
鉴于任何两年之间的过渡需要增加"年"一个,这意味着通过一年的第一天(或至少达到它),因此,减去"年" value是确定该值的最简单方法。
years = service_end.year - service_start.year
NB:您可能想要考虑2012,01,01到2015,01,01等边缘情况应该是什么 - 即如果范围在一年的第一天结束,那算得上吗?