CSTタイムゾーン、MYSQLとJAVA-WEBサーバーの時間差13時間の問題

953 ワード

1.サーバー時間の結果を確認しても正常CST
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つの意味がある)
  • アメリカ中部時間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.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