根据this question on how to set the time_zone in mysql and this timezone list,我认为这应该可行:
SET time_zone = 'Europe/Madrid';
但这是 sqlBuddy 记录的内容:
报告了以下错误:未知或不正确的时区:“欧洲/马德里”
确保已填充时区信息表。从mysql:
该值可以指定为命名时区,例如“欧洲/赫尔辛基”、“美国/东部”或“MET”。只有在 mysql 数据库中的时区信息表已创建并填充后,才能使用命名时区。
虽然我个人更喜欢以 UTC 格式存储所有日期。我发现它使推理变得更加简单,特别是在引入夏令时时。
如果您不想制作自己的时区设置表,另一种解决方案。
如果有自己的服务器,请保持 MySQL 不变。它默认为时区SYSTEM
。
Ubuntu用户可以使用
dpkg-reconfigure tzdata
对于更保守的操作系统(Centos、RedHat、Fedora)使用
tzconfig
用于更改系统时区的命令。将弹出一个 CLI 应用程序,您可以在其中选择区域和位置。它不仅是一只石头的两只鸟,而且它还可以自动适应日光变化,而无需在 MySQL 时区表中指定时间和内容。
不要忘记重新启动 MySQL 服务器以使更改生效。