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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在特定日期設(shè)置時區(qū)?

如何在特定日期設(shè)置時區(qū)?

慕雪6442864 2023-06-21 15:03:57
我有一個問題,我嘗試了所有方法(包括在線 stackoverflow 線程),但無法在特定日期按預(yù)期設(shè)置時區(qū)。這是我的代碼:Date until = DateTimeUtils.getNewBookUntilDate();//which returns : Wed Aug 28 11:00:02 EDT 2019 SimpleDateFormat isoFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");            isoFormat.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles");try {    until = isoFormat.parse(until.toString());} catch (ParseException e) {     e.printStackTrace();}但我仍然得到: Wed Aug 28 11:00:02 EDT 2019 ,而不是 Wed Aug 28 8:00:02 PDT 2019知道該怎么做嗎?
查看完整描述

1 回答

?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個贊

避免java.util.Date

Ajava.util.Date代表 UTC 中的某個時刻。無需將其作為文本進(jìn)行操作。注意:該方法Date::toString說謊了,在生成文本時動態(tài)應(yīng)用 JVM 當(dāng)前的默認(rèn)時區(qū)。

相反,使用java.time.Instant

首先從那個可怕的遺留類轉(zhuǎn)換為它的現(xiàn)代替代品,java.time.Instant.?注意添加到舊類的新轉(zhuǎn)換方法。

Instant?instant?=?myDate.toInstant()?;

ZonedDateTime

AnInstant也是 UTC 中的時刻。要通過某個地區(qū)的人們使用的距 UTC 的偏移量查看同一時刻,請應(yīng)用 aZoneId來獲取ZonedDateTime對象。

ZoneId?z?=?ZoneId.of(?"America/Montreal"?)?;
ZonedDateTime?zdt?=?instant.atZone(?z?)?;

請明確:這個zdt對象和這個instant對象都代表同一時刻,時間軸上的同一點(diǎn)。它們僅在掛鐘時間上有所不同。想象一下,冰島的某人(始終采用 UTC)給魁北克的某人打電話,他們都抬頭看著各自墻上的時鐘。

從現(xiàn)代到傳統(tǒng)

如果您ZonedDateTime手頭有一個對象,并且必須獲得一個java.util.Date用于與尚未更新到java.time的舊代碼進(jìn)行互操作的對象,則可以進(jìn)行轉(zhuǎn)換。通過從對象中提取 aInstant來從 an 轉(zhuǎn)到 a?。DateInstantZonedDateTime

Instant?instant?=?zdt.toInstant()?;
java.util.Date?date?=?java.util.Date.from?(?instant?)?;

如果您需要 aCalendar而不是Date,則轉(zhuǎn)換更直接。

Calendar?cal?=?GregorianCalendar.from(?zdt?)?;


查看完整回答
反對 回復(fù) 2023-06-21
  • 1 回答
  • 0 關(guān)注
  • 165 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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