时区和时区在CMS中显示日期

时间:2012-02-01 11:43:03

标签: php time content-management-system utc zone

我已经对这个问题进行了很多阅读,但我认为这听起来不那么简单。

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

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

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

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

  2. 如果这是正确的,如果您的时区设置符合夏令时,会发生什么?当然,当时区偏移由于夏令时而改变时,所有以前发表的文章的日期和时间也会发生变化,也可能每天或每月移动?我没有看到这将是一个吸引人的功能。

  3. 本质上,我问的是如何在没有第二个效果的情况下启用日期和时间的时区更改。或者我弄错了什么?

    非常感谢提前!

1 个答案:

答案 0 :(得分:1)

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

每次向用户显示日期或时间时,请使用网站全局时区设置确定上下文,无论管理员可以配置什么,或者检查当前用户时区是什么。这个逻辑取决于您决定什么是最适合日期或时间戳的内容。

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