2012-02-01 73 views
1

我在这个问题上做了大量的阅读,我不认为它听起来很简单。CMS中的时区和显示日期

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

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

由于我们存储所有日期/时间值作为UTC和显示这些值的点转换这些值到一个特定的时区:

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

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

从本质上讲,我问如何启用日期和时间的时区变更,而没有第二个效果。或者我弄错了所有的东西?

非常感谢提前!

回答

1

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

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

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