假设我有两组时间跨度。所以一个是上午 10:00 到下午 12:00,另一个是上午 11:00 到下午 13:00,两者都在同一天。如何轻松计算以确定它们是否重叠?
我的代码是无关紧要的,但只是为了理解用例 - 我正在开发一个 Django 应用程序,我想在其中构建某种时间表,如下所示:
class TimeSpan(models.Model):
start = models.DateTimeField()
end = models.DateTimeField()
class Worker(models.Model):
name = models.CharField(max_length=100)
limitations = models.ManyToManyField(TimeSpan)
Class Shift(models.Model):
workers = models.ManyToManyField(Workers)
timespan = models.ForeignKey(TimeSpan)
我需要能够将类次的 TimeSpan 对象与每个 worker 的限制进行比较。这样做的好方法是什么?
最佳答案
查找两个时间范围是否重叠的最简单方法如下
overlap = span_1_start < span_2_end and span_1_end > span_2_start
关于python - 如何比较python中的时间跨度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57028439/