一文搞定时区问题-Linux-spring-mysql

一、为鸡毛研究它呢

​ 最近上线国外的项目,存在时间不一致问题,我们要用的是美洲时间(America/New_York),所以在百度上面一顿google,常言说,百度一下,你就知道,但是百度一个缺点就是,知道的太多了,尼玛,这么多,就没**好用的,一个个试水吧,闲话少叙,奔正题;

二、考虑不一致的因素

  1. 服务器因素: centos 7
  2. 服务自身因素: spring boot 项目
  3. 数据库因素: mysql

三、一个一个来

1、服务器尝试:

[root@localhost ~]# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
 1) Africa
 2) Americas
 3) Antarctica
 4) Arctic Ocean
 5) Asia
 6) Atlantic Ocean
 7) Australia
 8) Europe
 9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 2
Please select a country.
 1) Anguilla          19) Dominican Republic    37) Peru
 2) Antigua & Barbuda     20) Ecuador           38) Puerto Rico
 3) Argentina         21) El Salvador       39) St Barthelemy
 4) Aruba         22) French Guiana     40) St Kitts & Nevis
 5) Bahamas       23) Greenland         41) St Lucia
 6) Barbados          24) Grenada           42) St Maarten (Dutch)
 7) Belize        25) Guadeloupe        43) St Martin (French)
 8) Bolivia       26) Guatemala         44) St Pierre & Miquelon
 9) Brazil        27) Guyana            45) St Vincent
10) Canada        28) Haiti         46) Suriname
11) Caribbean NL      29) Honduras          47) Trinidad & Tobago
12) Cayman Islands    30) Jamaica           48) Turks & Caicos Is
13) Chile         31) Martinique        49) United States
14) Colombia          32) Mexico            50) Uruguay
15) Costa Rica        33) Montserrat        51) Venezuela
16) Cuba          34) Nicaragua         52) Virgin Islands (UK)
17) Curaçao       35) Panama            53) Virgin Islands (US)
18) Dominica          36) Paraguay
#? 49
Please select one of the following time zone regions.
 1) Eastern (most areas)          16) Central - ND (Morton rural)
 2) Eastern - MI (most areas)         17) Central - ND (Mercer)
 3) Eastern - KY (Louisville area)    18) Mountain (most areas)
 4) Eastern - KY (Wayne)          19) Mountain - ID (south); OR (east)
 5) Eastern - IN (most areas)         20) MST - Arizona (except Navajo)
 6) Eastern - IN (Da, Du, K, Mn)      21) Pacific
 7) Eastern - IN (Pulaski)        22) Alaska (most areas)
 8) Eastern - IN (Crawford)       23) Alaska - Juneau area
 9) Eastern - IN (Pike)           24) Alaska - Sitka area
10) Eastern - IN (Switzerland)        25) Alaska - Annette Island
11) Central (most areas)          26) Alaska - Yakutat
12) Central - IN (Perry)          27) Alaska (west)
13) Central - IN (Starke)         28) Aleutian Islands
14) Central - MI (Wisconsin border)   29) Hawaii
15) Central - ND (Oliver)
#? 1

The following information has been given:

    United States
    Eastern (most areas)

Therefore TZ='America/New_York' will be used.
Local time is now:  Thu Sep  3 08:31:18 EDT 2020.
Universal Time is now:  Thu Sep  3 12:31:18 UTC 2020.
Is the above information OK?
1) Yes
2) No
#? 1

[root@localhost etc]# date
2020年 09月 03日 星期四 20:44:23 CST

注释:虽然都选了,就是不好使,就是尼玛不好使(可能是需要重启)

划重点,来个好使的: 搞了好几个小时,尼玛,一句话搞定;

cp /usr/share/zoneinfo/America/New_York  /etc/localtime

[root@localhost etc]# date
2020年 09月 03日 星期四 20:44:23 CST
[root@localhost etc]# cp /usr/share/zoneinfo/America/New_York  /etc/localtime
cp:是否覆盖"/etc/localtime"? y
[root@localhost etc]# date
2020年 09月 03日 星期四 08:45:08 EDT

来吧,启动项目测试吧,还是有问题:还是有问题,这尼玛接着弄吧:

2、考虑时间创建的位置,项目中date,数据库中默认;那就从这两方面考虑

一顿百度··············································································································

有结果了:

在启动类里面增加:
   TimeZone.setDefault(TimeZone.getTimeZone("America/New_York"));
   
   @PostConstruct
    void setDefaultTimezone() {
        TimeZone.setDefault(TimeZone.getTimeZone("America/New_York"));
    }
   在配置文件里面增加:
   spring : 
    jackson:
        time-zone: America/New_York

注释:这个还行,好使

3、继续数据库时区修改

### 第一种
select NOW();

##一:通过sql命令临时修改
set global time_zone = '-4:00';
set time_zone = '-4:00';
flush privileges;
select NOW();

### 第二种:修改my.cnf实现永久修改
>>>>>>>>   mysql代码    <<<<<<<
二:修改my.cnf实现永久修改
vi /etc/mysql/my.cnf
然后在mysqld下边的配置(Basic Settings)中添加一行:
default-time_zone = '-4:00'

然后重启mysql
service mysql restart
>mysql: select now(); ##查看当前时间

注释:建议直接第二种,当然了,我这里是纽约时间,请根据自己实际情况修改

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351