在提出问题之前,让我解释一下我的系统正在制作中的当前场景:
My Current Server位于:EST, 数据库位于:EST。
现在,有一个功能我们想为客户端引入Timezone支持,因此作为业务决策,我们已经将所有存储在Mysql中的数据迁移到UTC。
为什么选择UTC,因为这是我们希望保留在系统中的基准或基准时区,并根据用户数据从UTC转换为特定时区。为了进行转换,我们将使用PHP Datetime Class,我们可以通过时区来转换。
因此,问题是如何将我的MYSQL EST日期转换为UTC?
注意:MYSQl中存储的所有日期目前都是日期时间格式。
答案 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()函数更新数据库中的现有值