我正在寻找模块 ChronoUnit
java.time.temporal.ChronoUnit
Python 8中的实现,可在Java 8中找到。
此模块之所以有用,是因为它包含一个计算任意日期之间的天,月,年等的过程。
PS:在python中实现日期计算可能会导致很多问题,因为目前我没有时间考虑很多紧急情况,因此请在回答时保持建设性。
编辑:我认为我的问题还不够清楚,但是我要完成的工作是实际上可以从另一个日期中减去一个日期,从而获得两个日期之间的月,日,年等。两个。
根据 juanpa.arrivillaga 的评论,箭头库提供了一种有用的方法,该方法提供了几乎类似的功能,我想现在就回答我自己的问题。
答案 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()
计算其长度。
谢谢大家。