服务器部署海外,这时候,需要考虑时区问题,很多程序地方不能写死,需要调整中间件或者服务器时区,代码使用localTime。
1、服务器 Linux CentOS7
# 设置时区
timedatectl set-timezone Europe/London
# 列出伦敦 时区设置
timedatectl list-timezones | grep 'London'
Europe/London
# 使用`timedatectl`命令也可以看到时区已经修改
timedatectl
Local time: Wed 2024-04-03 04:20:34 BST
Universal time: Wed 2024-04-03 03:20:34 UTC
RTC time: Wed 2024-04-03 03:20:33
Time zone: Europe/London (BST, +0100)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2024-03-31 00:59:59 GMT
Sun 2024-03-31 02:00:00 BST
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2024-10-27 01:59:59 BST
Sun 2024-10-27 01:00:00 GMT
2、数据库
调整数据库默认使用 SYSTEM
客户端连接增加参数: GMT%2B1 --> GMT+1
mysql://127.0.0.1:3306/user_demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B1