MYSQL需要建议将EST时区中存储在db中的日期迁移到UTC时区

时间:2013-12-12 12:40:36

标签: php mysql timezone

在提出问题之前,让我解释一下我的系统正在制作中的当前场景:

My Current Server位于:EST, 数据库位于:EST。

现在,有一个功能我们想为客户端引入Timezone支持,因此作为业务决策,我们已经将所有存储在Mysql中的数据迁移到UTC。

为什么选择UTC,因为这是我们希望保留在系统中的基准或基准时区,并根据用户数据从UTC转换为特定时区。为了进行转换,我们将使用PHP Datetime Class,我们可以通过时区来转换。

因此,问题是如何将我的MYSQL EST日期转换为UTC?

注意:MYSQl中存储的所有日期目前都是日期时间格式。

2 个答案:

答案 0 :(得分:2)

单个SQL查询可能就足够了,因为该表名为foo且列为bar,那么此查询应该可以解决问题:

UPDATE `foo` SET `bar` = CONVERT_TZ( `bar`, 'EST', 'UTC' );

基于MySQL documentation for CONVERT_TZ function

  

CONVERT_TZ()将日期时间值dt从from_tz给定的时区转换为to_tz给定的时区,并返回结果值。

答案 1 :(得分:0)

使用CONVERT_TZ()函数更新数据库中的现有值