1

我对这个问题做了很多阅读,我认为它并不像听起来那么简单。

我们正在构建一个专有的 CMS,经过大量研究后决定以 UTC 存储所有日期和时间(作为 INT 字段中的 unix 时间戳或作为 DATETIME 字段)。

我完全熟悉如何处理时间偏移等。

由于我们将所有日期/时间值存储为 UTC,并在显示这些值时将这些值转换为特定时区:

  1. 如果您更改网站的时区,CMS 软件中的显示值是否会发生变化?例如,假设您的偏移量为 +10,因此显示的日期是 2011 年 3 月 1 日 14:15;如果将偏移量更改为 -10,那篇文章显示的日期和时间是否会更改为 2011 年 2 月 28 日 18:15?

  2. 如果这是正确的,如果您的时区设置遵循夏令时会发生什么?当然,当时区偏移因夏令时而发生变化时,所有以前发表的文章的日期和时间也会发生变化,也可能是移动日期或月份?我看不出这将是一个吸引人的功能。

从本质上讲,我在问如何在没有第二个效果的情况下启用日期和时间的时区更改。还是我弄错了整个事情?

提前谢谢了!

4

1 回答 1

1

建议根据 UTC 存储所有日期时间戳。

每次向用户显示日期或时间时,请使用网站全局时区设置(管理员可能配置的任何设置)或检查当前用户时区来确定上下文。这个逻辑取决于你决定什么是最适合日期或时间戳所指的内容。

这是我为在英国有仓库、在中国有客户的客户开发自己的 CMS 时使用的解决方案。

于 2012-02-01T11:47:37.683 回答