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

2024-10-01 09:21:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找模块ChronoUnit

java.time.temporal.ChronoUnit 

Java 8中的Python实现

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

PS:在Python中实现日期计算,可能会带来很多问题,因为有很多拐角的情况,我现在根本没有时间考虑,所以请在回答时有建设性。p>

编辑:我认为我的问题还不够清楚,但我试图做到的是能够从一个日期中减去另一个日期,从而得到月、日、年等。。在两者之间

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


Tags: 模块编辑time过程时间情况javaps
1条回答
网友
1楼 · 发布于 2024-10-01 09:21:16

多亏了@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)))

Edit:Arrow.range返回一个生成器,理论上你不能计算生成器的长度,但是如果你确定你使用的生成器返回的是一组有限的元素,那么你可以将这个生成器转换成一个列表,然后使用len()来计算它的长度

谢谢大家

相关问题 更多 >