1
5
没有理由在服务器上禁止DST,因为时区(或者我应该说“应该”)只不过是格式化而已。系统时钟与时区无关。时间戳应以明确的格式存储,可以是“从epoch开始的刻度”,例如
|
2
14
我发现(从多年的糟糕经历中)最好将日期和时间存储为UTC,并且仅在用户希望查看时将其转换为本地时间。 另外,让用户输入本地时间,但在存储之前将其转换为UTC。 这将为您节省各种各样的问题,包括试图弄清楚当您的应用程序分布在多个时区时会发生什么。 如果您只获取和存储UTC时间,那么DST就不重要了。 我们继承了一个特别讨厌的应用程序,它在本地时间跨时区发送消息,需要花费大量精力来频繁地修改这些消息。 当我们将它修改为只使用UTC时,它要好得多。在一端转换到UTC的时间越早越好,转换到本地时间的时间推迟到最后一个可能的瞬间。代码变得更小、更快。 |
3
0
只要使用内置Java类存储日期和时间,DST就不应该是一个问题。时间的内部表示是“1970年1月1日午夜后的毫秒数,在英格兰格林威治”,所以您所在的时区或DST是否有效无关紧要。 千万不要试图用文本表示来比较两个日期或时间,比如“2009年9月10日”之类的。使用长毫秒值。我现在正在研究一个系统,在这个系统中,最初的作者每次想要比较两个日期时似乎都使用不同的方法。在一个地方,他们将日期表示为YYYY/MM/DD,然后去掉斜杠,将结果转换为整数,所以10/08/2009变为20091008,然后将它们相互比较。其他时候,他们将它们作为文本字符串进行比较。等。当涉及多个时区或DST时,这会在各地产生不正确的结果。 |