CSTタイムゾーン、MYSQLとJAVA-WEBサーバーの時間差13時間の問題
953 ワード
1.サーバー時間の結果を確認しても正常CST
2.データベースの表示
3.私のWEBアプリを実行した後、時間が13時間も違いました.すべての元凶はCSTが混乱しているタイムゾーンです.
CSTタイムゾーン(CSTには4つの意味がある)アメリカ中部時間Central Standard Time(USA)UTC-06:00 オーストラリア中部時間Central Standard Time(Australia) UTC+09:30中国標準時China Standard Time UTC+08:00キューバ標準時Cuba Standard Time UTC-04:00 また、アメリカでは「3月11日」から「11月7日」にかけてサマータイムが実施され、アメリカ中部時間はUTC-05:00に変更され、UTC+08:00と13時間の 差がある.
ソリューション:
1.
2.データベース接続指定:serverTimezone(推奨)
jdbc:mysql://xxx:3306/demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
2.データベースの表示
show variables like "%time_zone%";
//system_time_zone CST
//time_zone SYSTEM
select now();
//2020-06-06 13:49:35
3.私のWEBアプリを実行した後、時間が13時間も違いました.すべての元凶はCSTが混乱しているタイムゾーンです.
CSTタイムゾーン(CSTには4つの意味がある)
ソリューション:
1.
my.cnf
ファイルを修正し、[mysqld]
節でdefault-time-zone = '+08:00'
を追加します(MySQLサーバーを再起動する必要があります.メンテナンス時間内に行うことをお勧めします.)2.データベース接続指定:serverTimezone(推奨)
jdbc:mysql://xxx:3306/demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8