我应该为转换存储UTC时间戳或本地时间

时间:2016-12-12 19:03:54

标签: database postgresql timezone time-and-attendance

我正在研究一项功能,该功能可以确定有多少工人值班,并为他们的班次计时(或没有计时)。

工人"时钟"和" out"这些事件的时间戳将以UTC格式存储,因为这似乎是最多的建议。

但是班次从固定的当地时间开始,所以例如一个班次将始终在07:00开始,无论夏令时如何,并且例如在14:00结束。

轮班工作人员被分配"轮班。

第一个要求是能够知道有多少工人在轮班时间(时钟进入)"此时此刻" - 一种状态检查。

第二个要求是能够获得过去一天的报告,例如对于一个单独的工人(是整个班次值班的工人,是他迟到了,他们是否迟到,需要加班)付费等)

所以不要假设一切都只在一个时区,我们的想法是将时区与移位的定义一起存储在数据库中(移位记录可能包含本地开始时间,结束时间和本地时间)时区"名称"。)

问题1:建议使用哪种格式存储本地时区?有没有办法可以存储轮班的开始/结束时间,这样我就可以编写一个SQL查询,可以将这些时间与提供的UTC时间进行比较。

问题2:还有其他建议吗?我应该将时钟输入/输出时间存储为本地与移位开始/结束时间相同吗?或者我应该做一些魔法并将所有内容存储为UTC时间...但是如果将它存储为" 2:00 UTC"如何计算当前时间的本地时间开始时间。 ....将其转换为本地时间需要始终相同,例如当地时间7:00,无论DST ....

0 个答案:

没有答案