我尝试存储不同服务的可用时间。 (每个工作日(8、9小时),24/7等) 一个工作日可以有不同的办公时间(08:00-16:00或09:00-17:00、08:00-18:00等)
也有一些国定假日,正常的工作日就像一个周末,而任何给定的周末也可以是工作日。
将其存储在数据库(PostgreSQL)中的最佳方法是什么?
背景
主要目标是计算给定时间范围内的分钟数是否在服务时间内。
A)服务时间仅为工作日(08:00-16:00),日期范围为 [2019-10-21 15:00(星期一)-2019-10-22 09:00(星期二)]。整个范围长达18小时,但服务时间只有2小时。
B)我也想计算我是否知道开始时间(2019-10-21 15:00),并且有3个小时来完成工作(在工作时间内),那么什么时候可以结束日期? (2019-10-22 10:00-星期一 1小时,星期二 2小时)
答案 0 :(得分:0)
我将完全按照您的描述存储数据。
您可以有一个用于工作窗口的表格,即周一至周五08:00至16:00
每个服务都有其日期范围,开始和停止。我猜一个服务将有多个日期范围,因此您可能需要一个包含start
,stop
和{{1}}列的日期范围表。
当您要计算某些内容时,您可以获取服务数据并获取工作日数据,然后计算出实际的服务时间以及需要回答的其他问题:)