将mysql时区更改为中国时间? [复制]

Posted

技术标签:

【中文标题】将mysql时区更改为中国时间? [复制]【英文标题】:Change the mysql timezone to China time? [duplicate] 【发布时间】:2020-06-08 17:44:51 【问题描述】:

我无法将mysql时间更改为中​​国时间,您能帮忙吗?

现在选择();在我的虚拟主机上产生:2020-02-24 19:52:25

但我正好提前 15 小时,现在是 2020-02-25 10:52:25

选择@@system_time_zone;产生:MST

显然,我可以设置 time_zone 的最长时间是 '+14:00'

但我尝试的只是将我的时间列设置为全零。

我有一个名为 19OEattendance 的 mysql 表最后一列是时间它是一个 TIMESTAMP

选择 TIMEDIFF(NOW(), UTC_TIMESTAMP);产生:-07:00:00

我试过了:

SET time_zone = '上海';产生:#1298 - 未知或不正确 时区:“上海”

如何将列时间设置为我的时间,比我的虚拟主机上的时间早 15 小时?

我认为我无法访问虚拟主机上的 my.cnf。没找到。

这提高了出席率。也许我可以调整这个?我希望 LOCAALTIME() 会设置发件人的时间。唉,不!

$sql = 'UPDATE 19OEattendance SET attendance = attendance + 1, 
     has_been_incremented = has_been_incremented + 1, time = LOCALTIME() 
     WHERE number = ' . $_POST['password'] . ' AND has_been_incremented != 1 ;';

【问题讨论】:

这能回答你的问题吗? How do I set the time zone of MySQL? 警告:尽可能使用带有占位符值的预处理语句,以避免在查询中注入任意数据并创建SQL injection bugs。在mysqli 和PDO 中执行这些操作非常简单,其中任何用户提供的数据都使用?:name 指示符指定,稍后使用bind_paramexecute 填充,具体取决于您是哪个使用。 通常最好将数据库中的时间保留为 UTC,这样如果您移动数据库,或者其他时区的某人正在处理它,时间就不会到处乱跳。显示它们时在您的应用程序中转换为本地时间。 【参考方案1】:

我看到“亚洲/上海”是 +8。因此,您可以尝试: SET time_zone = '+08:00'

【讨论】:

谢谢,这有帮助,但仍然不太正确:我的时间是 2020-02-27 16:35:51,而“+08:00”给我的时间是 2020-02-27 01 :35:51。我刚试了“+15:00”却报错,然后我试了“+14:00”报错,然后“+13:00”没报错,但时间比我的时间晚了15小时!!

以上是关于将mysql时区更改为中国时间? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

mySQL 将 NOW() 存储在正确的服务器时区吗? [复制]

如何将 '>' 更改为 '>' 和 '>' 更改为 '>'? [复制]

如何将嵌入消息颜色更改为白色? [复制]

将数据复制到同一张表和从同一表复制数据,并将复制数据的一列中的值更改为指定值

如何将 NSProgressIndicator 颜色从灰色更改为白色? [复制]

如何将所有负数更改为正python? [复制]