当前位置: 首页 > 知识库问答 >
问题:

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

阎元徽
2023-03-14

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

我当前的服务器位于:EST,数据库位于:EST。

现在,有一个功能,我们希望为客户机引入时区支持,因此作为一项业务决策,我们已经将存储在Mysql中的所有数据(EST中的数据)迁移到UTC。

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

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

注意:MYSQl中当前存储的所有日期都是datetime格式。

共有2个答案

章哲茂
2023-03-14

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

阎昌勋
2023-03-14

一个SQL查询可能就足够了,因为表名为foo,列名为bar,所以此查询应该可以实现以下功能:

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

基于MySQL文档的converttz函数

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

 类似资料:
  • 问题内容: 我所读到的有关将时间转换为用户时区的所有信息都说,最好的方法是在UTC中存储日期和时间,然后将用户的时区偏移量添加到该时间。 如何以UTC时间存储日期?我使用MySQL DATETIME字段。 当在我的PHP代码中向MySQL添加新记录时,我将用于插入MySQL DATETIME。 我需要使用不同于存储UTC时间的其他方法吗? 问题答案: MySQL: 以’YYYY-MM-DD HH:

  • 问题内容: 我在这里看到了一些相关的问题……本质上,我想要的是将日期时间存储为UTC,并让应用程序用户选择他想显示日期的时区-time in。 由于似乎日期时间字段受基础JDBC驱动程序的影响,所以我想知道这是否是存储UTC日期时间的可接受方法: 将MySQL和Application Server计算机都设置为UTC时区(无需分开) MySQL和JVM都应该选择基础系统时间设置(如果没有其他说明的

  • 我有一个移动应用程序和Rest服务。移动应用程序将生成并向web服务提供UTC日期、时间和时区。我需要使用PHP将这两个值存储到mysql中。 我是从远程源获取日期时间的,所以我不能使用MySQL的UTC_TIMESTAMP()来生成“当前”utc时间。 INSERT语句如何存储$CREATE,as is(UTC)而不将其存储为服务器的默认时区? 我是否必须在PHP中将它从UTC转换为我的服务器的

  • 我是否需要将Postgres中所有现有的日期时间从当前时区转换为UTC,或者当读取不是UTC的东西时,Django 1.4时区是否会理解(但随后保存为UTC)。 我有一个非常好的Django 1.3/Postgres网站,可以处理多个时区。我正在存储所有datetime w。时区信息,但在Postgres中这恰好设置为美国/东部时区(是的,我知道应该是UTC)。 现在,我计划升级到Django 1

  • 问题内容: 我使用了一个新的Date()对象来填充MySQL DB中的一个字段,但是存储在该字段中的实际值在我的本地时区中。 如何配置MySQL以将其存储在UTC / GMT时区? 我认为,配置连接字符串会有所帮助,但我不知道如何。连接字符串中有许多属性,例如useTimezone,serverTimzone,useGmtMillisForDatetimes,useLegacyDatetimeCo

  • 我是PostgreSQL的新手,我想知道是否有一种直接的方法可以使用函数将表中的时间戳值转换为不同的时区。在我的情况下,是UTC到EST。 例如,我需要将这些值转换为EST(不仅仅是一个值,而是表中的所有值)