返回首页

简介
如何处理这些棘手的问题是太容易弄错之一。所以,让我们开始吧。
首先,使用UTC(也称为格林威治时间)是多次不正确的解决办法。然而,许多程序员认为他们店里的一切,如果这样,那么他们覆盖。 (这个错误是为什么几年前,当国会在美国的DST开始改变,你必须运行在Outlook的修补程序,调整重复发生的事件。)时间是什么
因此,让我们开始与关键问题??什么意思?当用户说,他们想要的东西在上午7:00运行,又是什么意思呢?在大多数情况下,他们的意思上午7:00它们位于何处??但并非总是如此。在某些情况下,准确地比较说Web服务器的统计数据,他们希望每一个quot; dayquot;结束在同一时间,未调整的DST。在另一端的人,在一天中的某些时间医药,并在他们的日历设置,将希望,所以下午3:00事件是在当地时间凌晨3:00时,他们走遍了一半左右世界。
因此,我们有三个主要的用例(也有一些人​​,但他们一般可以通过以下处理):相同的绝对时间(缺乏一个更好的词)。在一个给定的时区的时间,转移时,夏令时于/熄灭(包括在一些地区发生的双夏令时)。本地时间。
首先是琐碎的处理呢??你设置为UTC。通过这样做,每天都在今年将有24个小时。 (有趣的注意,联合只匹配在格林威治时间在标准时间,当它是夏令时,格林尼治标准​​时间和UTC是不相同的。)
第二个需要存储的时间和时区。然而,时区的地理区域,而不是目前的偏移量(偏移时差)。换句话说,你店quot;山地时间,"不quot;山地标准Timequot; quot;山夏令Time.quot,所以7:00在quot;山Timequot;将七时在科罗拉多州的我不管一年的时间。
三是第二,它有一个时区,称为quot;本地Time.quot相似;但是,它需要知道什么时区,是为了确定发生时。将它使用
确定,因此,如何处理这?这其实很简单。每次需要存储两种方式之一:为UTC。通常,当存储为UTC,你仍然会设置/本地时间显示。作为DateTime加上地理时区(可quot;地方timequot;)。
现在的伎俩是知道这使用。这里有一些一般规则。您将需要额外的用例图这一点,但大多数人下降到这些类别。 当事情发生??UTC。这是一个奇异的事件,无论用户如何想它显示,当它发生是不可改变的。当用户选择了UTC时区??UTC。在未来的事件,用户希望它发生在一个时区??日期时间加上一个时区。现在可以安全地使用UTC,如果它会发生在未来几个月(改变时区普遍有那么多的警告 - ),但你需要做的一些指出,所以你应该做的所有案件。在这种情况下,将显示你的存储。对于预定的事件,当它接下来将发生的呢??UTC。这是一个性能要求,您希望能够得到所有"未来eventsquot;其运行时前。更快捷地进行搜索比重新计算每一个日期。然而,这并不需要重新计算所有的事件,运行每季度定期的情况下,规则已经改变的事件。 |大卫蒂伦

回答

评论会员: 时间:2