Nat*_*ate 4 mysql sql-server oracle timezone database-design
我意识到这有点主观,但是我希望在这里选择大家如何处理多个时区?这里有各种类似的问题和各种各样的接受答案.
怎么会有你这种衣食住行中的应用程序,你已经建立,并且你必须克服哪些问题?
kub*_*003 13
您始终将日期/时间存储在一个时区(10个中的9个,即伦敦时间),并将其显示转换为您的用户的时区.这是严格的应用程序级问题而不是db.
Esc*_*alo 11
在工作中,我们同时管理多个时钟,不仅是时区,还有一些用于航天器导航的深奥时钟.
唯一真正重要的是:你只需要一个时钟和一个时钟,无论你选择哪一个,并且你有一个适当的时钟转换,当你需要一个时钟视图时,你的时钟不同于一个时钟而且只有一个时钟.
所以:
唯一一个时钟:选择最简单的一个可以解决你的问题,很可能这将是UTC(有些人会 - 不正确地称为格林威治,但重点仍然是:零线).
适当的时钟转换:这取决于您的应用程序,但您需要询问并回答以下两个问题:我需要多少分辨率?我是否需要确保我占用闰秒?一旦你回答,你可以选择标准库或更多的estoreric库.同样,你必须问这些问题.
时间观点:当有人选择时间视图(比如太平洋时间)时,只需按需调用适当的时钟转换.
真的,就是这样.
至于图书馆,我使用Python进行脚本编写,但使用NAIF Spice Library进行任务设计,并使用内部代码进行航天器导航.它们之间的区别仅仅在于考虑到所需的一切(地球自转,相对论,时间膨胀,闰秒等)的分辨率和可靠性.当然,您将选择适合您需求的库.
祝好运.
编辑:
我忘了提到:不要试图实施自己的时间管理库 - 使用搁置一个.如果您尝试,您可能会成功,但您的真实项目将会死亡,您将只有一个平均日期时间库来显示它.也许我被夸大了,但是制作一个可靠的通用日期时间库远非微不足道,即它本身就是一个项目.