日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

一次 JDBC 与 MySQL 因 “CST” 时区协商误解导致时间差了 14 或 13 小时的排错经历...

發(fā)布時(shí)間:2024/3/12 数据库 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一次 JDBC 与 MySQL 因 “CST” 时区协商误解导致时间差了 14 或 13 小时的排错经历... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

CST 時(shí)區(qū)

名為 CST 的時(shí)區(qū)是一個(gè)很混亂的時(shí)區(qū),有四種含義:

  • 美國(guó)中部時(shí)間 Central Standard Time (USA) UTC-06:00
  • 澳大利亞中部時(shí)間 Central Standard Time (Australia) UTC+09:30
  • 中國(guó)標(biāo)準(zhǔn)時(shí) China Standard Time UTC+08:00
  • 古巴標(biāo)準(zhǔn)時(shí) Cuba Standard Time UTC-04:00

今天是“4月28日”。為什么提到日期?因?yàn)槊绹?guó)從“3月11日”至“11月7日”實(shí)行夏令時(shí),美國(guó)中部時(shí)間改為 UTC-05:00,與 UTC+08:00 相差 13 小時(shí)。

排錯(cuò)過(guò)程

在項(xiàng)目中,偶然發(fā)現(xiàn)數(shù)據(jù)庫(kù)中存儲(chǔ)的 Timestamp 字段的 unix_timestamp() 值比真實(shí)值少了 13 個(gè)小時(shí)。通過(guò)調(diào)試追蹤,發(fā)現(xiàn)了?com.mysql.cj.jdbc?里的時(shí)區(qū)協(xié)商有問(wèn)題。

當(dāng) JDBC 與 MySQL 開(kāi)始建立連接時(shí),會(huì)調(diào)用?com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer()?獲取服務(wù)器參數(shù),其中我們看到調(diào)用?this.session.configureTimezone()?函數(shù),它負(fù)責(zé)配置時(shí)區(qū)。

public void configureTimezone() {String configuredTimeZoneOnServer = getServerVariable("time_zone");if ("SYSTEM".equalsIgnoreCase(configuredTimeZoneOnServer)) {configuredTimeZoneOnServer = getServerVariable("system_time_zone");}String canonicalTimezone = getPropertySet().getStringReadableProperty(PropertyDefinitions.PNAME_serverTimezone).getValue();if (configuredTimeZoneOnServer != null) {// user can override this with driver properties, so don't detect if that's the caseif (canonicalTimezone == null || StringUtils.isEmptyOrWhitespaceOnly(canonicalTimezone)) {try {canonicalTimezone = TimeUtil.getCanonicalTimezone(configuredTimeZoneOnServer, getExceptionInterceptor());} catch (IllegalArgumentException iae) {throw ExceptionFactory.createException(WrongArgumentException.class, iae.getMessage(), getExceptionInterceptor());}}}if (canonicalTimezone != null && canonicalTimezone.length() > 0) {this.serverTimezoneTZ = TimeZone.getTimeZone(canonicalTimezone);// The Calendar class has the behavior of mapping unknown timezones to 'GMT' instead of throwing an exception, so we must check for this...if (!canonicalTimezone.equalsIgnoreCase("GMT")&& this.serverTimezoneTZ.getID().equals("GMT")) {throw ...}}this.defaultTimeZone = this.serverTimezoneTZ; }

追蹤代碼可知,當(dāng) MySQL 的?time_zone?值為?SYSTEM?時(shí),會(huì)取?system_time_zone?值作為協(xié)調(diào)時(shí)區(qū)。

讓我們登錄到 MySQL 服務(wù)器驗(yàn)證這兩個(gè)值:

mysql> show variables like '%time_zone%'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | CST | | time_zone | SYSTEM | +------------------+--------+ 2 rows in set (0.00 sec)

重點(diǎn)在這里!若?String configuredTimeZoneOnServer?得到的是?CST?那么 Java 會(huì)誤以為這是?CST -0500?,因此?TimeZone.getTimeZone(canonicalTimezone)?會(huì)給出錯(cuò)誤的時(shí)區(qū)信息。

?debug variables

如圖所示,本機(jī)默認(rèn)時(shí)區(qū)是?Asia/Shanghai +0800?,誤認(rèn)為服務(wù)器時(shí)區(qū)為?CST -0500?,實(shí)際上服務(wù)器是?CST +0800?。

我們會(huì)想到,即便時(shí)區(qū)有誤解,如果 Timestamp 是以 long 表示的時(shí)間戳傳輸,也不會(huì)出現(xiàn)問(wèn)題,下面讓我們追蹤到?com.mysql.cj.jdbc.PreparedStatement.setTimestamp()?。

public void setTimestamp(int parameterIndex, Timestamp x) throws java.sql.SQLException {synchronized (checkClosed().getConnectionMutex()) {setTimestampInternal(parameterIndex, x, this.session.getDefaultTimeZone());} }

注意到這里?this.session.getDefaultTimeZone()?得到的是剛才那個(gè)?CST -0500?。

private void setTimestampInternal(int parameterIndex, Timestamp x, TimeZone tz) throws SQLException {if (x == null) {setNull(parameterIndex, MysqlType.TIMESTAMP);} else {if (!this.sendFractionalSeconds.getValue()) {x = TimeUtil.truncateFractionalSeconds(x);}this.parameterTypes[parameterIndex - 1 + getParameterIndexOffset()] = MysqlType.TIMESTAMP;if (this.tsdf == null) {this.tsdf = new SimpleDateFormat("''yyyy-MM-dd HH:mm:ss", Locale.US);}this.tsdf.setTimeZone(tz);StringBuffer buf = new StringBuffer();buf.append(this.tsdf.format(x));if (this.session.serverSupportsFracSecs()) {buf.append('.');buf.append(TimeUtil.formatNanos(x.getNanos(), true));}buf.append('\'');setInternal(parameterIndex, buf.toString());} }

原來(lái) Timestamp 被轉(zhuǎn)換為會(huì)話時(shí)區(qū)的時(shí)間字符串了。問(wèn)題到此已然明晰:

  • JDBC 誤認(rèn)為會(huì)話時(shí)區(qū)在 CST-5
  • JBDC 把 Timestamp+0 轉(zhuǎn)為 CST-5 的 String-5
  • MySQL 認(rèn)為會(huì)話時(shí)區(qū)在 CST+8,將 String-5 轉(zhuǎn)為 Timestamp-13
  • 最終結(jié)果相差 13 個(gè)小時(shí)!如果處在冬令時(shí)還會(huì)相差 14 個(gè)小時(shí)!

    解決方案

    解決辦法也很簡(jiǎn)單,明確指定 MySQL 數(shù)據(jù)庫(kù)的時(shí)區(qū),不使用引發(fā)誤解的?CST?:

    mysql> set global time_zone = '+08:00'; Query OK, 0 rows affected (0.00 sec)mysql> set time_zone = '+08:00'; Query OK, 0 rows affected (0.00 sec)

    或者修改?my.cnf?文件,在?[mysqld]?節(jié)下增加?default-time-zone = '+08:00'?。

    修改時(shí)區(qū)操作影響深遠(yuǎn),需要重啟 MySQL 服務(wù)器,建議在維護(hù)時(shí)間進(jìn)行。

    ===============================================================

    另一份解決方案:?

    ? ? ? ?最近遇到了一個(gè)問(wèn)題,java從mysql從讀出的時(shí)間與本地時(shí)間有14個(gè)小時(shí)的時(shí)間差,經(jīng)查證、測(cè)試解決了此問(wèn)題,在此總結(jié)一下:

    ?

    一、使用mysql-connector-java 6.x版本驅(qū)動(dòng)需要做如下配置:

    1、引入pom

    1

    2

    3

    4

    5

    <dependency>

    ??<groupId>mysql</groupId>

    ??<artifactId>mysql-connector-java</artifactId>

    ??<version>6.0.6</version>

    </dependency>

    ?

    2、設(shè)置jdbc連接、驅(qū)動(dòng)

    1

    2

    3

    jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&serverTimezone=UTC&characterEncoding=utf-8&allowMultiQueries=true

    com.mysql.cj.jdbc.Driver

    ?

    ?

    二、設(shè)置mysql數(shù)據(jù)時(shí)區(qū)

    1、查看mysql時(shí)區(qū)

    1

    show?variables?like?"%time_zone%"

    ?

    2、修改mysql時(shí)區(qū)

    (1)方法一

    1

    2

    3

    set?global?time_zone?=?'+8:00';?##修改mysql全局時(shí)區(qū)為北京時(shí)間,即我們所在的東8區(qū)

    set?time_zone?=?'+8:00';?##修改當(dāng)前會(huì)話時(shí)區(qū)

    flush?privileges;?#立即生效

    (2)方法二、通過(guò)修改my.cnf配置文件來(lái)修改時(shí)區(qū)

    1

    2

    3

    #?vim?/etc/my.cnf?##在[mysqld]區(qū)域中加上

    default-time_zone?=?'+8:00'

    #?/etc/init.d/mysqld?restart?##重啟mysql使新時(shí)區(qū)生效

    ?

    三、分析時(shí)區(qū)設(shè)置問(wèn)題

    ? ? ? ?通過(guò)上面的設(shè)置,我們把mysql數(shù)據(jù)庫(kù)的時(shí)區(qū)設(shè)置成了中國(guó)的時(shí)區(qū)‘utc+8’,而serverTimezone=UTC設(shè)置的是utc時(shí)區(qū),兩者不同,所以會(huì)發(fā)現(xiàn)從數(shù)據(jù)庫(kù)讀出的時(shí)間與本地時(shí)間差幾個(gè)小時(shí)。要解決這個(gè)問(wèn)題,需要讓serverTimezone的設(shè)置與數(shù)據(jù)庫(kù)的時(shí)區(qū)保持一致。我們可以選擇修改serverTimezone的設(shè)置為serverTimezone=Asia/Shanghai,或者修改數(shù)據(jù)庫(kù)的時(shí)區(qū)為‘+0:00’。

    ?

    四、serverTimezone支持的值說(shuō)明

    1、utc時(shí)區(qū):serverTimezone=UTC

    2、中國(guó)時(shí)區(qū):serverTimezone=GMT%2B8(GMT+8這種方式支持全部時(shí)區(qū),通過(guò)修改最后的數(shù)字實(shí)現(xiàn),不過(guò)%2B不能寫(xiě)成+)

    3、查看官方源碼,可以看到serverTimezone支持的相關(guān)設(shè)置如下,如:中國(guó)的時(shí)區(qū)可設(shè)置為:serverTimezone=Asia/Shanghai

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    80

    81

    82

    83

    84

    85

    86

    87

    88

    89

    90

    91

    92

    93

    94

    95

    96

    97

    98

    99

    100

    101

    102

    103

    104

    105

    106

    107

    108

    109

    110

    111

    112

    113

    114

    115

    116

    117

    118

    119

    120

    121

    122

    123

    124

    125

    126

    127

    128

    129

    130

    131

    132

    133

    134

    135

    136

    137

    138

    139

    140

    141

    142

    143

    144

    145

    146

    147

    148

    149

    150

    151

    152

    153

    154

    155

    156

    157

    158

    159

    160

    161

    162

    163

    164

    165

    166

    167

    168

    169

    170

    171

    172

    173

    174

    175

    176

    177

    178

    179

    180

    181

    182

    183

    184

    185

    186

    187

    188

    189

    190

    191

    192

    193

    194

    195

    196

    197

    198

    199

    200

    201

    202

    203

    204

    205

    206

    207

    208

    209

    210

    211

    212

    213

    214

    215

    216

    217

    218

    219

    220

    221

    222

    223

    224

    225

    226

    227

    228

    229

    230

    231

    232

    233

    234

    235

    236

    237

    238

    239

    240

    241

    242

    243

    244

    245

    246

    247

    248

    249

    250

    251

    252

    253

    254

    255

    256

    257

    258

    259

    260

    261

    262

    263

    264

    265

    266

    267

    268

    269

    270

    271

    272

    273

    274

    275

    276

    277

    278

    279

    280

    281

    282

    283

    284

    285

    286

    287

    288

    289

    290

    291

    292

    293

    294

    295

    296

    297

    298

    299

    300

    301

    302

    303

    304

    305

    306

    307

    308

    309

    310

    311

    312

    313

    314

    315

    316

    317

    318

    319

    320

    321

    322

    323

    324

    325

    326

    327

    328

    329

    330

    331

    332

    333

    334

    335

    336

    337

    338

    339

    340

    341

    342

    343

    344

    345

    346

    347

    348

    349

    350

    351

    352

    353

    354

    355

    356

    357

    358

    359

    360

    361

    362

    363

    364

    365

    366

    367

    368

    369

    370

    371

    372

    373

    374

    375

    376

    377

    378

    379

    380

    381

    382

    383

    384

    385

    386

    387

    388

    389

    390

    391

    392

    393

    394

    395

    396

    397

    398

    399

    400

    401

    402

    403

    404

    405

    406

    407

    408

    409

    410

    411

    412

    413

    414

    415

    416

    417

    418

    419

    420

    421

    422

    423

    424

    425

    426

    427

    428

    429

    430

    431

    432

    433

    434

    435

    436

    437

    438

    439

    440

    441

    442

    443

    444

    445

    446

    447

    448

    449

    450

    451

    452

    453

    454

    455

    456

    457

    458

    459

    460

    461

    462

    463

    464

    465

    466

    467

    468

    469

    470

    471

    472

    473

    474

    475

    476

    477

    478

    479

    480

    481

    482

    483

    484

    485

    486

    487

    488

    489

    490

    491

    492

    493

    494

    495

    496

    497

    498

    499

    500

    501

    502

    503

    504

    505

    506

    507

    508

    509

    510

    511

    512

    513

    514

    515

    516

    517

    518

    519

    520

    521

    522

    523

    524

    525

    526

    527

    528

    529

    530

    531

    #Windows?Zones

    #Mon?Sep?28?16:41:59?WEST?2015

    AUS\?Central\?Daylight\?Time=Australia/Darwin

    AUS\?Central\?Standard\?Time=Australia/Darwin

    AUS\?Eastern\?Daylight\?Time=Australia/Sydney

    AUS\?Eastern\?Standard\?Time=Australia/Sydney

    Afghanistan\?Daylight\?Time=Asia/Kabul

    Afghanistan\?Standard\?Time=Asia/Kabul

    Alaskan\?Daylight\?Time=America/Anchorage

    Alaskan\?Standard\?Time=America/Anchorage

    Arab\?Daylight\?Time=Asia/Riyadh

    Arab\?Standard\?Time=Asia/Riyadh

    Arabian\?Daylight\?Time=Asia/Dubai

    Arabian\?Standard\?Time=Asia/Dubai

    Arabic\?Daylight\?Time=Asia/Baghdad

    Arabic\?Standard\?Time=Asia/Baghdad

    Argentina\?Daylight\?Time=America/Buenos_Aires

    Argentina\?Standard\?Time=America/Buenos_Aires

    Atlantic\?Daylight\?Time=America/Halifax

    Atlantic\?Standard\?Time=America/Halifax

    Azerbaijan\?Daylight\?Time=Asia/Baku

    Azerbaijan\?Standard\?Time=Asia/Baku

    Azores\?Daylight\?Time=Atlantic/Azores

    Azores\?Standard\?Time=Atlantic/Azores

    Bahia\?Daylight\?Time=America/Bahia

    Bahia\?Standard\?Time=America/Bahia

    Bangladesh\?Daylight\?Time=Asia/Dhaka

    Bangladesh\?Standard\?Time=Asia/Dhaka

    Belarus\?Daylight\?Time=Europe/Minsk

    Belarus\?Standard\?Time=Europe/Minsk

    Canada\?Central\?Daylight\?Time=America/Regina

    Canada\?Central\?Standard\?Time=America/Regina

    Cape\?Verde\?Daylight\?Time=Atlantic/Cape_Verde

    Cape\?Verde\?Standard\?Time=Atlantic/Cape_Verde

    Caucasus\?Daylight\?Time=Asia/Yerevan

    Caucasus\?Standard\?Time=Asia/Yerevan

    Cen.\?Australia\?Daylight\?Time=Australia/Adelaide

    Cen.\?Australia\?Standard\?Time=Australia/Adelaide

    Central\?America\?Daylight\?Time=America/Guatemala

    Central\?America\?Standard\?Time=America/Guatemala

    Central\?Asia\?Daylight\?Time=Asia/Almaty

    Central\?Asia\?Standard\?Time=Asia/Almaty

    Central\?Brazilian\?Daylight\?Time=America/Cuiaba

    Central\?Brazilian\?Standard\?Time=America/Cuiaba

    Central\?Daylight\?Time=America/Chicago

    Central\?Daylight\?Time\?(Mexico)=America/Mexico_City

    Central\?Europe\?Daylight\?Time=Europe/Budapest

    Central\?Europe\?Standard\?Time=Europe/Budapest

    Central\?European\?Daylight\?Time=Europe/Warsaw

    Central\?European\?Standard\?Time=Europe/Warsaw

    Central\?Pacific\?Daylight\?Time=Pacific/Guadalcanal

    Central\?Pacific\?Standard\?Time=Pacific/Guadalcanal

    Central\?Standard\?Time=America/Chicago

    Central\?Standard\?Time\?(Mexico)=America/Mexico_City

    China\?Daylight\?Time=Asia/Shanghai

    China\?Standard\?Time=Asia/Shanghai

    Dateline\?Daylight\?Time=Etc/GMT+12

    Dateline\?Standard\?Time=Etc/GMT+12

    E.\?Africa\?Daylight\?Time=Africa/Nairobi

    E.\?Africa\?Standard\?Time=Africa/Nairobi

    E.\?Australia\?Daylight\?Time=Australia/Brisbane

    E.\?Australia\?Standard\?Time=Australia/Brisbane

    E.\?South\?America\?Daylight\?Time=America/Sao_Paulo

    E.\?South\?America\?Standard\?Time=America/Sao_Paulo

    Eastern\?Daylight\?Time=America/New_York

    Eastern\?Daylight\?Time\?(Mexico)=America/Cancun

    Eastern\?Standard\?Time=America/New_York

    Eastern\?Standard\?Time\?(Mexico)=America/Cancun

    Egypt\?Daylight\?Time=Africa/Cairo

    Egypt\?Standard\?Time=Africa/Cairo

    Ekaterinburg\?Daylight\?Time=Asia/Yekaterinburg

    Ekaterinburg\?Standard\?Time=Asia/Yekaterinburg

    FLE\?Daylight\?Time=Europe/Kiev

    FLE\?Standard\?Time=Europe/Kiev

    Fiji\?Daylight\?Time=Pacific/Fiji

    Fiji\?Standard\?Time=Pacific/Fiji

    GMT\?Daylight\?Time=Europe/London

    GMT\?Standard\?Time=Europe/London

    GTB\?Daylight\?Time=Europe/Bucharest

    GTB\?Standard\?Time=Europe/Bucharest

    Georgian\?Daylight\?Time=Asia/Tbilisi

    Georgian\?Standard\?Time=Asia/Tbilisi

    Greenland\?Daylight\?Time=America/Godthab

    Greenland\?Standard\?Time=America/Godthab

    Greenwich\?Daylight\?Time=Atlantic/Reykjavik

    Greenwich\?Standard\?Time=Atlantic/Reykjavik

    Hawaiian\?Daylight\?Time=Pacific/Honolulu

    Hawaiian\?Standard\?Time=Pacific/Honolulu

    India\?Daylight\?Time=Asia/Calcutta

    India\?Standard\?Time=Asia/Calcutta

    Iran\?Daylight\?Time=Asia/Tehran

    Iran\?Standard\?Time=Asia/Tehran

    Israel\?Daylight\?Time=Asia/Jerusalem

    Israel\?Standard\?Time=Asia/Jerusalem

    Jordan\?Daylight\?Time=Asia/Amman

    Jordan\?Standard\?Time=Asia/Amman

    Kaliningrad\?Daylight\?Time=Europe/Kaliningrad

    Kaliningrad\?Standard\?Time=Europe/Kaliningrad

    Korea\?Daylight\?Time=Asia/Seoul

    Korea\?Standard\?Time=Asia/Seoul

    Libya\?Daylight\?Time=Africa/Tripoli

    Libya\?Standard\?Time=Africa/Tripoli

    Line\?Islands\?Daylight\?Time=Pacific/Kiritimati

    Line\?Islands\?Standard\?Time=Pacific/Kiritimati

    Magadan\?Daylight\?Time=Asia/Magadan

    Magadan\?Standard\?Time=Asia/Magadan

    Mauritius\?Daylight\?Time=Indian/Mauritius

    Mauritius\?Standard\?Time=Indian/Mauritius

    Middle\?East\?Daylight\?Time=Asia/Beirut

    Middle\?East\?Standard\?Time=Asia/Beirut

    Montevideo\?Daylight\?Time=America/Montevideo

    Montevideo\?Standard\?Time=America/Montevideo

    Morocco\?Daylight\?Time=Africa/Casablanca

    Morocco\?Standard\?Time=Africa/Casablanca

    Mountain\?Daylight\?Time=America/Denver

    Mountain\?Daylight\?Time\?(Mexico)=America/Chihuahua

    Mountain\?Standard\?Time=America/Denver

    Mountain\?Standard\?Time\?(Mexico)=America/Chihuahua

    Myanmar\?Daylight\?Time=Asia/Rangoon

    Myanmar\?Standard\?Time=Asia/Rangoon

    N.\?Central\?Asia\?Daylight\?Time=Asia/Novosibirsk

    N.\?Central\?Asia\?Standard\?Time=Asia/Novosibirsk

    Namibia\?Daylight\?Time=Africa/Windhoek

    Namibia\?Standard\?Time=Africa/Windhoek

    Nepal\?Daylight\?Time=Asia/Katmandu

    Nepal\?Standard\?Time=Asia/Katmandu

    New\?Zealand\?Daylight\?Time=Pacific/Auckland

    New\?Zealand\?Standard\?Time=Pacific/Auckland

    Newfoundland\?Daylight\?Time=America/St_Johns

    Newfoundland\?Standard\?Time=America/St_Johns

    North\?Asia\?Daylight\?Time=Asia/Krasnoyarsk

    North\?Asia\?East\?Daylight\?Time=Asia/Irkutsk

    North\?Asia\?East\?Standard\?Time=Asia/Irkutsk

    North\?Asia\?Standard\?Time=Asia/Krasnoyarsk

    Pacific\?Daylight\?Time=America/Los_Angeles

    Pacific\?Daylight\?Time\?(Mexico)=America/Santa_Isabel

    Pacific\?SA\?Daylight\?Time=America/Santiago

    Pacific\?SA\?Standard\?Time=America/Santiago

    Pacific\?Standard\?Time=America/Los_Angeles

    Pacific\?Standard\?Time\?(Mexico)=America/Santa_Isabel

    Pakistan\?Daylight\?Time=Asia/Karachi

    Pakistan\?Standard\?Time=Asia/Karachi

    Paraguay\?Daylight\?Time=America/Asuncion

    Paraguay\?Standard\?Time=America/Asuncion

    Romance\?Daylight\?Time=Europe/Paris

    Romance\?Standard\?Time=Europe/Paris

    Russia\?Time\?Zone\?10=Asia/Srednekolymsk

    Russia\?Time\?Zone\?11=Asia/Kamchatka

    Russia\?Time\?Zone\?3=Europe/Samara

    Russian\?Daylight\?Time=Europe/Moscow

    Russian\?Standard\?Time=Europe/Moscow

    SA\?Eastern\?Daylight\?Time=America/Cayenne

    SA\?Eastern\?Standard\?Time=America/Cayenne

    SA\?Pacific\?Daylight\?Time=America/Bogota

    SA\?Pacific\?Standard\?Time=America/Bogota

    SA\?Western\?Daylight\?Time=America/La_Paz

    SA\?Western\?Standard\?Time=America/La_Paz

    SE\?Asia\?Daylight\?Time=Asia/Bangkok

    SE\?Asia\?Standard\?Time=Asia/Bangkok

    Samoa\?Daylight\?Time=Pacific/Apia

    Samoa\?Standard\?Time=Pacific/Apia

    Singapore\?Daylight\?Time=Asia/Singapore

    Singapore\?Standard\?Time=Asia/Singapore

    South\?Africa\?Daylight\?Time=Africa/Johannesburg

    South\?Africa\?Standard\?Time=Africa/Johannesburg

    Sri\?Lanka\?Daylight\?Time=Asia/Colombo

    Sri\?Lanka\?Standard\?Time=Asia/Colombo

    Syria\?Daylight\?Time=Asia/Damascus

    Syria\?Standard\?Time=Asia/Damascus

    Taipei\?Daylight\?Time=Asia/Taipei

    Taipei\?Standard\?Time=Asia/Taipei

    Tasmania\?Daylight\?Time=Australia/Hobart

    Tasmania\?Standard\?Time=Australia/Hobart

    Tokyo\?Daylight\?Time=Asia/Tokyo

    Tokyo\?Standard\?Time=Asia/Tokyo

    Tonga\?Daylight\?Time=Pacific/Tongatapu

    Tonga\?Standard\?Time=Pacific/Tongatapu

    Turkey\?Daylight\?Time=Europe/Istanbul

    Turkey\?Standard\?Time=Europe/Istanbul

    US\?Eastern\?Daylight\?Time=America/Indianapolis

    US\?Eastern\?Standard\?Time=America/Indianapolis

    US\?Mountain\?Daylight\?Time=America/Phoenix

    US\?Mountain\?Standard\?Time=America/Phoenix

    UTC=Etc/GMT

    UTC+12=Etc/GMT-12

    UTC-02=Etc/GMT+2

    UTC-11=Etc/GMT+11

    Ulaanbaatar\?Daylight\?Time=Asia/Ulaanbaatar

    Ulaanbaatar\?Standard\?Time=Asia/Ulaanbaatar

    Venezuela\?Daylight\?Time=America/Caracas

    Venezuela\?Standard\?Time=America/Caracas

    Vladivostok\?Daylight\?Time=Asia/Vladivostok

    Vladivostok\?Standard\?Time=Asia/Vladivostok

    W.\?Australia\?Daylight\?Time=Australia/Perth

    W.\?Australia\?Standard\?Time=Australia/Perth

    W.\?Central\?Africa\?Daylight\?Time=Africa/Lagos

    W.\?Central\?Africa\?Standard\?Time=Africa/Lagos

    W.\?Europe\?Daylight\?Time=Europe/Berlin

    W.\?Europe\?Standard\?Time=Europe/Berlin

    West\?Asia\?Daylight\?Time=Asia/Tashkent

    West\?Asia\?Standard\?Time=Asia/Tashkent

    West\?Pacific\?Daylight\?Time=Pacific/Port_Moresby

    West\?Pacific\?Standard\?Time=Pacific/Port_Moresby

    Yakutsk\?Daylight\?Time=Asia/Yakutsk

    Yakutsk\?Standard\?Time=Asia/Yakutsk

    #Linked?Time?Zones?alias

    #Mon?Sep?28?16:41:59?WEST?2015

    Africa/Addis_Ababa=Africa/Nairobi

    Africa/Asmara=Africa/Nairobi

    Africa/Asmera=Africa/Nairobi

    Africa/Bamako=Africa/Abidjan

    Africa/Bangui=Africa/Lagos

    Africa/Banjul=Africa/Abidjan

    Africa/Blantyre=Africa/Maputo

    Africa/Brazzaville=Africa/Lagos

    Africa/Bujumbura=Africa/Maputo

    Africa/Conakry=Africa/Abidjan

    Africa/Dakar=Africa/Abidjan

    Africa/Dar_es_Salaam=Africa/Nairobi

    Africa/Djibouti=Africa/Nairobi

    Africa/Douala=Africa/Lagos

    Africa/Freetown=Africa/Abidjan

    Africa/Gaborone=Africa/Maputo

    Africa/Harare=Africa/Maputo

    Africa/Juba=Africa/Khartoum

    Africa/Kampala=Africa/Nairobi

    Africa/Kigali=Africa/Maputo

    Africa/Kinshasa=Africa/Lagos

    Africa/Libreville=Africa/Lagos

    Africa/Lome=Africa/Abidjan

    Africa/Luanda=Africa/Lagos

    Africa/Lubumbashi=Africa/Maputo

    Africa/Lusaka=Africa/Maputo

    Africa/Malabo=Africa/Lagos

    Africa/Maseru=Africa/Johannesburg

    Africa/Mbabane=Africa/Johannesburg

    Africa/Mogadishu=Africa/Nairobi

    Africa/Niamey=Africa/Lagos

    Africa/Nouakchott=Africa/Abidjan

    Africa/Ouagadougou=Africa/Abidjan

    Africa/Porto-Novo=Africa/Lagos

    Africa/Sao_Tome=Africa/Abidjan

    Africa/Timbuktu=Africa/Abidjan

    America/Anguilla=America/Port_of_Spain

    America/Antigua=America/Port_of_Spain

    America/Argentina/ComodRivadavia=America/Argentina/Catamarca

    America/Aruba=America/Curacao

    America/Atka=America/Adak

    America/Buenos_Aires=America/Argentina/Buenos_Aires

    America/Catamarca=America/Argentina/Catamarca

    America/Coral_Harbour=America/Atikokan

    America/Cordoba=America/Argentina/Cordoba

    America/Dominica=America/Port_of_Spain

    America/Ensenada=America/Tijuana

    America/Fort_Wayne=America/Indiana/Indianapolis

    America/Grenada=America/Port_of_Spain

    America/Guadeloupe=America/Port_of_Spain

    America/Indianapolis=America/Indiana/Indianapolis

    America/Jujuy=America/Argentina/Jujuy

    America/Knox_IN=America/Indiana/Knox

    America/Kralendijk=America/Curacao

    America/Louisville=America/Kentucky/Louisville

    America/Lower_Princes=America/Curacao

    America/Marigot=America/Port_of_Spain

    America/Mendoza=America/Argentina/Mendoza

    America/Montreal=America/Toronto

    America/Montserrat=America/Port_of_Spain

    America/Porto_Acre=America/Rio_Branco

    America/Rosario=America/Argentina/Cordoba

    America/Shiprock=America/Denver

    America/St_Barthelemy=America/Port_of_Spain

    America/St_Kitts=America/Port_of_Spain

    America/St_Lucia=America/Port_of_Spain

    America/St_Thomas=America/Port_of_Spain

    America/St_Vincent=America/Port_of_Spain

    America/Tortola=America/Port_of_Spain

    America/Virgin=America/Port_of_Spain

    Antarctica/McMurdo=Pacific/Auckland

    Antarctica/South_Pole=Pacific/Auckland

    Arctic/Longyearbyen=Europe/Oslo

    Asia/Aden=Asia/Riyadh

    Asia/Ashkhabad=Asia/Ashgabat

    Asia/Bahrain=Asia/Qatar

    Asia/Calcutta=Asia/Kolkata

    Asia/Chongqing=Asia/Shanghai

    Asia/Chungking=Asia/Shanghai

    Asia/Dacca=Asia/Dhaka

    Asia/Harbin=Asia/Shanghai

    Asia/Istanbul=Europe/Istanbul

    Asia/Kashgar=Asia/Urumqi

    Asia/Katmandu=Asia/Kathmandu

    Asia/Kuwait=Asia/Riyadh

    Asia/Macao=Asia/Macau

    Asia/Muscat=Asia/Dubai

    Asia/Phnom_Penh=Asia/Bangkok

    Asia/Saigon=Asia/Ho_Chi_Minh

    Asia/Tel_Aviv=Asia/Jerusalem

    Asia/Thimbu=Asia/Thimphu

    Asia/Ujung_Pandang=Asia/Makassar

    Asia/Ulan_Bator=Asia/Ulaanbaatar

    Asia/Vientiane=Asia/Bangkok

    Atlantic/Faeroe=Atlantic/Faroe

    Atlantic/Jan_Mayen=Europe/Oslo

    Atlantic/St_Helena=Africa/Abidjan

    Australia/ACT=Australia/Sydney

    Australia/Canberra=Australia/Sydney

    Australia/LHI=Australia/Lord_Howe

    Australia/NSW=Australia/Sydney

    Australia/North=Australia/Darwin

    Australia/Queensland=Australia/Brisbane

    Australia/South=Australia/Adelaide

    Australia/Tasmania=Australia/Hobart

    Australia/Victoria=Australia/Melbourne

    Australia/West=Australia/Perth

    Australia/Yancowinna=Australia/Broken_Hill

    Brazil/Acre=America/Rio_Branco

    Brazil/DeNoronha=America/Noronha

    Brazil/East=America/Sao_Paulo

    Brazil/West=America/Manaus

    Canada/Atlantic=America/Halifax

    Canada/Central=America/Winnipeg

    Canada/East-Saskatchewan=America/Regina

    Canada/Eastern=America/Toronto

    Canada/Mountain=America/Edmonton

    Canada/Newfoundland=America/St_Johns

    Canada/Pacific=America/Vancouver

    Canada/Saskatchewan=America/Regina

    Canada/Yukon=America/Whitehorse

    Chile/Continental=America/Santiago

    Chile/EasterIsland=Pacific/Easter

    Cuba=America/Havana

    Egypt=Africa/Cairo

    Eire=Europe/Dublin

    Europe/Belfast=Europe/London

    Europe/Bratislava=Europe/Prague

    Europe/Busingen=Europe/Zurich

    Europe/Guernsey=Europe/London

    Europe/Isle_of_Man=Europe/London

    Europe/Jersey=Europe/London

    Europe/Ljubljana=Europe/Belgrade

    Europe/Mariehamn=Europe/Helsinki

    Europe/Nicosia=Asia/Nicosia

    Europe/Podgorica=Europe/Belgrade

    Europe/San_Marino=Europe/Rome

    Europe/Sarajevo=Europe/Belgrade

    Europe/Skopje=Europe/Belgrade

    Europe/Tiraspol=Europe/Chisinau

    Europe/Vaduz=Europe/Zurich

    Europe/Vatican=Europe/Rome

    Europe/Zagreb=Europe/Belgrade

    GB=Europe/London

    GB-Eire=Europe/London

    GMT+0=Etc/GMT

    GMT-0=Etc/GMT

    GMT0=Etc/GMT

    Greenwich=Etc/GMT

    Hongkong=Asia/Hong_Kong

    Iceland=Atlantic/Reykjavik

    Indian/Antananarivo=Africa/Nairobi

    Indian/Comoro=Africa/Nairobi

    Indian/Mayotte=Africa/Nairobi

    Iran=Asia/Tehran

    Israel=Asia/Jerusalem

    Jamaica=America/Jamaica

    Japan=Asia/Tokyo

    Kwajalein=Pacific/Kwajalein

    Libya=Africa/Tripoli

    Mexico/BajaNorte=America/Tijuana

    Mexico/BajaSur=America/Mazatlan

    Mexico/General=America/Mexico_City

    NZ=Pacific/Auckland

    NZ-CHAT=Pacific/Chatham

    Navajo=America/Denver

    PRC=Asia/Shanghai

    Pacific/Johnston=Pacific/Honolulu

    Pacific/Midway=Pacific/Pago_Pago

    Pacific/Ponape=Pacific/Pohnpei

    Pacific/Saipan=Pacific/Guam

    Pacific/Samoa=Pacific/Pago_Pago

    Pacific/Truk=Pacific/Chuuk

    Pacific/Yap=Pacific/Chuuk

    Poland=Europe/Warsaw

    Portugal=Europe/Lisbon

    ROC=Asia/Taipei

    ROK=Asia/Seoul

    Singapore=Asia/Singapore

    Turkey=Europe/Istanbul

    UCT=Etc/UCT

    US/Alaska=America/Anchorage

    US/Aleutian=America/Adak

    US/Arizona=America/Phoenix

    US/Central=America/Chicago

    US/East-Indiana=America/Indiana/Indianapolis

    US/Eastern=America/New_York

    US/Hawaii=Pacific/Honolulu

    US/Indiana-Starke=America/Indiana/Knox

    US/Michigan=America/Detroit

    US/Mountain=America/Denver

    US/Pacific=America/Los_Angeles

    US/Pacific-New=America/Los_Angeles

    US/Samoa=Pacific/Pago_Pago

    Universal=Etc/UTC

    W-SU=Europe/Moscow

    Zulu=Etc/UTC

    #Standard?(IANA)?abbreviations

    #Mon?Sep?28?16:41:59?WEST?2015

    ACWST=Australia/Eucla

    AFT=Asia/Kabul

    ALMT=Asia/Almaty

    ANAT=Asia/Anadyr

    AZOST=Atlantic/Azores

    AZOT=Atlantic/Azores

    AZST=Asia/Baku

    AZT=Asia/Baku

    BDT=Asia/Dhaka

    BNT=Asia/Brunei

    BOT=America/La_Paz

    BRST=America/Sao_Paulo

    BTT=Asia/Thimphu

    CAT=Africa/Maputo

    CCT=Indian/Cocos

    CHADT=Pacific/Chatham

    CHAST=Pacific/Chatham

    CHOST=Asia/Choibalsan

    CHOT=Asia/Choibalsan

    CHUT=Pacific/Chuuk

    CKT=Pacific/Rarotonga

    COT=America/Bogota

    CVT=Atlantic/Cape_Verde

    CXT=Indian/Christmas

    ChST=Pacific/Guam

    DAVT=Antarctica/Davis

    DDUT=Antarctica/DumontDUrville

    EAST=Pacific/Easter

    ECT=America/Guayaquil

    EGST=America/Scoresbysund

    EGT=America/Scoresbysund

    FJST=Pacific/Fiji

    FJT=Pacific/Fiji

    FKST=Atlantic/Stanley

    FNT=America/Noronha

    GALT=Pacific/Galapagos

    GAMT=Pacific/Gambier

    GET=Asia/Tbilisi

    GFT=America/Cayenne

    GILT=Pacific/Tarawa

    GYT=America/Guyana

    HDT=America/Adak

    HKT=Asia/Hong_Kong

    HOVST=Asia/Hovd

    HOVT=Asia/Hovd

    IDT=Asia/Jerusalem

    IOT=Indian/Chagos

    IRST=Asia/Tehran

    JST=Asia/Tokyo

    KGT=Asia/Bishkek

    KOST=Pacific/Kosrae

    LHDT=Australia/Lord_Howe

    LHST=Australia/Lord_Howe

    LINT=Pacific/Kiritimati

    MAGT=Asia/Magadan

    MART=Pacific/Marquesas

    MAWT=Antarctica/Mawson

    MEST=MET

    MET=MET

    MIST=Antarctica/Macquarie

    MMT=Asia/Rangoon

    MUT=Indian/Mauritius

    MVT=Indian/Maldives

    NCT=Pacific/Noumea

    NDT=America/St_Johns

    NFT=Pacific/Norfolk

    NOVT=Asia/Novosibirsk

    NPT=Asia/Kathmandu

    NRT=Pacific/Nauru

    NST=America/St_Johns

    NUT=Pacific/Niue

    NZDT=Pacific/Auckland

    NZST=Pacific/Auckland

    OMST=Asia/Omsk

    ORAT=Asia/Oral

    PET=America/Lima

    PETT=Asia/Kamchatka

    PGT=Pacific/Port_Moresby

    PHOT=Pacific/Enderbury

    PHT=Asia/Manila

    PKT=Asia/Karachi

    PMDT=America/Miquelon

    PMST=America/Miquelon

    PONT=Pacific/Pohnpei

    PWT=Pacific/Palau

    PYST=America/Asuncion

    PYT=America/Asuncion

    QYZT=Asia/Qyzylorda

    RET=Indian/Reunion

    ROTT=Antarctica/Rothera

    SAKT=Asia/Sakhalin

    SAMT=Europe/Samara

    SAST=Africa/Johannesburg

    SBT=Pacific/Guadalcanal

    SCT=Indian/Mahe

    SGT=Asia/Singapore

    SRET=Asia/Srednekolymsk

    SRT=America/Paramaribo

    SST=Pacific/Pago_Pago

    SYOT=Antarctica/Syowa

    TAHT=Pacific/Tahiti

    TFT=Indian/Kerguelen

    TJT=Asia/Dushanbe

    TKT=Pacific/Fakaofo

    TLT=Asia/Dili

    TMT=Asia/Ashgabat

    TOT=Pacific/Tongatapu

    TVT=Pacific/Funafuti

    ULAST=Asia/Ulaanbaatar

    ULAT=Asia/Ulaanbaatar

    UYT=America/Montevideo

    VET=America/Caracas

    VOST=Antarctica/Vostok

    VUT=Pacific/Efate

    WAKT=Pacific/Wake

    WAST=Africa/Windhoek

    WFT=Pacific/Wallis

    WGST=America/Godthab

    WGT=America/Godthab

    WIT=Asia/Jayapura

    WITA=Asia/Makassar

    WSDT=Pacific/Apia

    WSST=Pacific/Apia

    XJT=Asia/Urumqi

    YEKT=Asia/Yekaterinburg

    以上內(nèi)容在src\main\resources\com\mysql\cj\jdbc\util.TimeZoneMapping.properties,

    = 后面的值為我們可以用來(lái)設(shè)置的值

    本文出自 “星技傳閱” 博客,請(qǐng)務(wù)必保留此出處http://snowtiger.blog.51cto.com/12931578/1967441

    轉(zhuǎn)載于:https://my.oschina.net/CasparLi/blog/1541902

    總結(jié)

    以上是生活随笔為你收集整理的一次 JDBC 与 MySQL 因 “CST” 时区协商误解导致时间差了 14 或 13 小时的排错经历...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。