mysql - 将现有的 MySQL 数据库移动到具有不同操作系统时区的服务器

标签 mysql date timezone

我在本地开发了一个应用程序(这是我的第一个真正的商业应用程序)并且时间戳设置为 O/S 使用的时区。当我将我的应用程序放在托管在不同时区的服务器上时,我没有考虑到 NOW()TIMESTAMP 会产生不同日期这一事实。

阅读我的问题后,显然处理此问题的正确方法是以 UTC 格式存储日期/时间戳,并将它们在客户端代码上转换为所需的指定时区。不幸的是,我的应用程序运行了很长时间,并且我有 1000 个条目标记到特定时区,我通过以下方式进行了 hacky 修复:

SET time_zone='-6:00'

现在我正在为 DST 苦苦挣扎(因为 MySQL 服务器不支持我正在使用的时区名称)。

我是否应该尝试转换所有代码以将 UTC->Timezone 和所有数据库转换为 UTC?或者我应该让主机安装处理 DST 的正确时区名称?

最佳答案

如果我是你,虽然我会将你的代码转换为使用存储/检索 UTC 中的所有时间值,然后适本地调整你的数据库中的值。

我知道这是一种 PITA,但从长远来看,它可能不会那么令人头疼。

关于mysql - 将现有的 MySQL 数据库移动到具有不同操作系统时区的服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13053720/

相关文章:

mysql - 获取参与group by子句的所有记录

php - 在 LOAD INFILE 到 MySQL 之前转义 CSV 文件

java - 如何在android中解析字符串 "Mon Aug 08 16:44:19 EAT 2016"至今

javascript - 如何在javascript中获取从今天到指定日期的天数?

mysql - 如何插入 YYYY-MM-DDThh :mm:ss±hh:mm date in mysql with timezone?

MySQL从多个表中删除,其中键可以在同一个表的不同列中找到

mysql - pymysql|将 NULL 插入可为 null 的 int 字段

javascript - AngularJS 中的时区在 ie9 文档模式下不正确

postgresql - 我什么时候需要将值转换为日期?

java - 如何使用 Jackson 获取特定时区的日历?