Python计算两个日期之间的时间范围长度

时间:2020-02-22 22:46:17

标签: java python chronounit

我正在寻找模块 ChronoUnit

java.time.temporal.ChronoUnit 

Python 8中的实现,可在Java 8中找到。

此模块之所以有用,是因为它包含一个计算任意日期之间的天,月,年等的过程。

PS:在python中实现日期计算可能会导致很多问题,因为目前我没有时间考虑很多紧急情况,因此请在回答时保持建设性。

编辑:我认为我的问题还不够清楚,但是我要完成的工作是实际上可以从另一个日期中减去一个日期,从而获得两个日期之间的月,日,年等。两个。

根据 juanpa.arrivillaga 的评论,箭头库提供了一种有用的方法,该方法提供了几乎类似的功能,我想现在就回答我自己的问题。

1 个答案:

答案 0 :(得分:0)

由于@ junpa.arrivillaga,我发现通过 arrow 库可以轻松地在python中实现该过程。

以下将要使用的api:

arrow.Arrow.range('hour', start, end)

Python中的最终方法是:

'''
    Computes day, month, year s 
    between two dates.
    frame - time frame 
    start - date start 
    end - date finish
    This method only works if the generated timeframe between to dates 
    is finite, as Arrow.range returns a generator!
'''
def count_frame_between_dates(frame, start, end):
    return len(list(arrow.Arrow.range(frame, start, end)))

编辑:Arrow.range返回一个生成器,从理论上讲您不能计算生成器的长度,但是如果您确定所使用的生成器返回了一组有限的元素,则可以将此生成器转换为列表,然后使用len()计算其长度。

谢谢大家。