1、先修改数据库的my.cnf文件,在 [mysqld] 之下加
default-time-zone = '+1:00'
2、进入mysql终端,mysql 数据库中的时区信息默认为空
show tables like "%time%";
SELECT COUNT(*) FROM mysql.time_zone_name;
3、若不为0则需要查看是否有荷兰时区的信息
SELECT * FROM time_zone_name WHERE name LIKE 'Europe/Amsterdam%’;
4、若为0,则需要导入荷兰时区的信息
a、先查看服务器是否有荷兰时区的信息,在/usr/share/zoneinfo/Europe目录下是否有Amsterdam文件,没有可以在macbook中的/usr/share/zoneinfo/Europe目录处复制一份。
b、在mysql/bin的目录下,使用
mysql_tzinfo_to_sql /usr/share/zoneinfo/Europe | mysql -u root -p123456 mysql;
C、然后在数据库mysql查询是否已导入成功时区信息
SELECT * FROM time_zone_name WHERE name LIKE 'Europe/Amsterdam%’;
D、测试是否支持夏令时,荷兰的夏令时在(2018-3-25 1:00:00 —— 2018-10-28 2:00:00)
SELECT CONVERT_TZ('2018-03-25 00:00:00','+1:00','Europe/Amsterdam') AS TIME;
时间不变
SELECT CONVERT_TZ('2018-03-25 01:00:00','+1:00','Europe/Amsterdam') AS TIME;
时间快了一小时
SELECT CONVERT_TZ('2018-03-25 04:00:00','+1:00','Europe/Amsterdam') AS TIME;
时间快了一小时
SELECT CONVERT_TZ('2018-10-28 01:00:00','+1:00','Europe/Amsterdam') AS TIME;
时间快了一小时
SELECT CONVERT_TZ('2018-10-28 02:00:00','+1:00','Europe/Amsterdam') AS TIME;
时间不变
SELECT CONVERT_TZ('2018-10-28 03:00:00','+1:00','Europe/Amsterdam') AS TIME;
时间不变