第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么 java 8 時(shí)間沒(méi)有向我顯示時(shí)區(qū) Etc/GMT+1 的正確時(shí)間

為什么 java 8 時(shí)間沒(méi)有向我顯示時(shí)區(qū) Etc/GMT+1 的正確時(shí)間

小唯快跑啊 2023-03-02 16:03:38
ZonedDateTime now = ZonedDateTime.now(ZoneId.of("Etc/GMT+1"));調(diào)試時(shí)此值顯示 2019-07-02T14:23:57.463-01:00[Etc/GMT+1]應(yīng)該是 16:23,我錯(cuò)過(guò)了什么.. 由于某種原因時(shí)鐘慢了 2 小時(shí)?
查看完整描述

1 回答

?
翻過(guò)高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

使用時(shí)區(qū)而不僅僅是偏移量。


ZonedDateTime.now( 

    ZoneId.of( "Europe/Dublin" )

)

細(xì)節(jié)

在現(xiàn)代協(xié)議中,偏移量中的小時(shí)-分鐘-秒數(shù)被認(rèn)為是領(lǐng)先于基線 (GMT/UTC) 的正數(shù),而落后于基線的負(fù)數(shù)。一些較舊的協(xié)議是相反的。您的Etc/GMT+1風(fēng)格似乎相反。


最好的解決方案是使用時(shí)區(qū)而不是僅僅使用偏移量。偏移量只是小時(shí)數(shù)-分鐘-秒數(shù)。時(shí)區(qū)要多得多。時(shí)區(qū)是特定地區(qū)的人們使用的偏移量的過(guò)去、現(xiàn)在和未來(lái)變化的歷史。


時(shí)區(qū)的名稱格式為Continent/Region. 例如,America/Montreal、Europe/Paris和Pacific/Auckland。


ZoneId z = ZoneId.of( "Europe/Dublin" ) ;

ZonedDateTime zdt = ZonedDateTime.now( z ) ;

生成標(biāo)準(zhǔn) ISO 8601 格式的字符串,明智地?cái)U(kuò)展以在方括號(hào)中附加區(qū)域名稱。


String output = zdt.toString() ;

您的大部分業(yè)務(wù)邏輯、日志記錄和數(shù)據(jù)更改都應(yīng)該采用 UTC。要調(diào)整為 UTC,請(qǐng)Instant從您的ZonedDateTime. 同一時(shí)刻,時(shí)間軸上的同一點(diǎn),但掛鐘時(shí)間不同。


Instant instant = zdt.toInstant() ;

生成標(biāo)準(zhǔn) ISO 8601 格式的字符串。


String output = instant.toString() ;

你的榜樣

所以現(xiàn)在我們可以回去檢查你的具體情況。


[Etc/GMT+1]讓我們用區(qū)域名稱解析給定的字符串。


String input = "2019-07-02T14:23:57.463-01:00[Etc/GMT+1]" ;

ZonedDateTime zdtInput = ZonedDateTime.parse ( input );

然后調(diào)整為UTC。


Instant instant = zdtInput.toInstant ();

再次調(diào)整成Europe/Dublin。


ZoneId zDublin = ZoneId.of( "Europe/Dublin");

ZonedDateTime zdtDublin = zdtInput.withZoneSameInstant ( zDublin );

轉(zhuǎn)儲(chǔ)到控制臺(tái)。


System.out.println ("zdtInput: " + zdtInput );

System.out.println ("instant: " + instant );

System.out.println ("zdtDublin: " + zdtDublin );

在 IdeOne.com 上查看此代碼的實(shí)時(shí)運(yùn)行。


zdt 輸入:2019-07-02T14:23:57.463-01:00[等/GMT+1]


即時(shí):2019-07-02T15:23:57.463Z


zdtDublin: 2019-07-02T16:23:57.463+01:00[歐洲/都柏林]


第 14 小時(shí)

果然,我們看到時(shí)間比UTC晚[Etc/GMT+1]一個(gè)小時(shí)(小時(shí)偏移的舊反向含義)一個(gè)小時(shí)。14


第 15 小時(shí)

UTC(零小時(shí)-分鐘-秒的偏移量)有一個(gè)小時(shí)15。


第 16 小時(shí)

都柏林時(shí)區(qū)當(dāng)時(shí)使用愛爾蘭標(biāo)準(zhǔn)時(shí)間 (IST)、UTC +1 而不是夏令時(shí) (DST)。所以我們看到它的時(shí)間是,比 UTC 的時(shí)間早16一個(gè)小時(shí)。15


關(guān)鍵:理解所有這三個(gè)代表同一時(shí)刻,時(shí)間軸上非常相同的一個(gè)點(diǎn)。他們的掛鐘時(shí)間不同:查看同一時(shí)刻的三種方式。


順便說(shuō)一句,當(dāng)您想要專門使用偏移量而不是時(shí)區(qū)時(shí),請(qǐng)使用OffsetDateTime&ZoneOffset類。ZonedDateTime&類ZoneId用于時(shí)區(qū)。


查看完整回答
反對(duì) 回復(fù) 2023-03-02
  • 1 回答
  • 0 關(guān)注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)