如何在Python中表示两个特定日期时间之间的时间段?

时间:2019-04-04 08:13:57

标签: python python-3.x

是否有Python方式将两个给定的datetime之间的间隔表示为单个对象? 不是它们之间的时间 (也称为timedelta),而是例如datetime(2000, 1, 1)(包括)和{{ 1}}(不包括)。用例是,我需要使用一堆开始datetime(2000, 1, 2, hour=6)和结束datetime并将它们连接在一起,以创建代表所有输入的最小的非重叠时段。我知道该怎么做,但我不知道在Python中是否有便捷的方式,例如,我可以轻松地加入句点,例如:

first_start = datetime(2000, 1, 1)
first_end = datetime(2000, 1, 2, hour=6)
first = period(first_start, first_end)
second_start = datetime(2000, 1, 1, hour=3)
second_end = datetime(2000, 1, 2, hour=9)
second = period(second_start, second_end)
expected = period(first_start, second_end)

assert first + second == period(first_start, second_end)

1 个答案:

答案 0 :(得分:1)

DateTimeRange库可能会为此提供一些帮助。它没有开箱即用的功能,但我认为它使编写变得容易。

"categories"