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

标签 java python chronounit

我正在寻找模块ChronoUnit

java.time.temporal.ChronoUnit 

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

这个模块有用的原因是它包含一个计算任意日期之间的日、月、年等的过程。

PS:在Python中实现日期计算,可能会导致很多问题,因为有很多我目前没有时间考虑的极端情况,所以请在回答时具有建设性。

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

根据 juanpa.arrivilillaga 评论,arrow 库提供了一种有用的方法,它提供了几乎类似的功能,我想我现在会回答我自己的问题。

最佳答案

感谢@junpa.arrivilillaga,我发现这个过程可以很容易地在Python中实现,这要归功于 arrow 图书馆。

要使用的 API 如下:

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

Python 中的 final方法是:

'''
    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() 来计算它的长度。

谢谢大家。

关于java - Python计算两个日期之间的时间范围长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60357564/

相关文章:

java - 无法使用带参数的构造函数 NO_CONSTRUCTOR 实例化 java.util.List]

java - 从java代码而不是布局文件中扩展UI

java - intellij idea中隐藏包或文件

java - Neo4j 3.1遍历API,如何找到两个节点之间的最短路径?

python - 使用 Python 直接从 SFTP 服务器上传文件到 Box,无需保存中间文件

python - Bing Congitive Web 搜索 API 与 Python 3

python - 将函数结果传递到 Django 中的 html

java - 在 Java 中查找两个日期范围之间的交集(以编程方式)