【发布时间】:2013-07-31 20:58:34
【问题描述】:
所以我意外地做了一些复杂得可笑的事情,因为我认为如果 MySQL 中的每个数据库在同一个帐户上,你就不能有单独的时区?
基本上我的大部分数据库都是为美国用户服务的,并且使用美国的时区之一,然后我还经营一个英文博客。
我的问题是英文博客的日期时间行中插入了正确的 BST (GMT+1) 值,但它位于使用 MDT 时区的数据库中。
然后我需要使用以下方法来获取 rss 提要的时间:
$date = date('r', $data['date']); //MDT system but $data['date'] is GMT+1
但是由于时区不正确,这给了我在博客发布时的未来时间。
有没有办法可以将 BST 转换为 MDT?
但它变得更加复杂,因为在英格兰一年中的某些月份我们使用 GMT (GMT+0) 而不是 BST (GMT+1) ... 无论如何可以确定在英格兰使用哪个时区一年中的时间并进行转换,还是我只是让整个事情变得过于复杂?
【问题讨论】:
-
最简单的方法是以UTC存储所有时间,并在显示时仅显示在相关时区。这样您就可以根据需要在多个时区中显示,并且在数据库中始终有一个参考时间,很容易转换为任何 TZ
-
@Anigel 问题是我现在有 6 年以上的数据,所以改变它不是很容易
-
这里的答案可能对stackoverflow.com/questions/13698779/…有帮助