我正在寻找模块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/