亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Javascript 將給定時區的日期轉換為本地日期

Javascript 將給定時區的日期轉換為本地日期

嗶嗶one 2023-02-24 16:54:28
在 Javascript 中,給定一個表示日期的字符串,如下所示:var dateFromPrague = "2011-10-10T14:48:00"知道上面的日期是來自特定本地化的日期,比如歐洲/布拉格,我怎么能把這個日期翻譯成當地時間?我知道我可以創建一個 Date 對象來指示時區偏移量,如下所示:var dateFromPrague = new Date("2011-10-10T14:48:00.000+02:00");然后我可以像這樣從上面的日期獲取本地日期:var dateFromPragueTolocalDate = dateFromPrague.toString();但布拉格偏移量并不總是 +02:00,因為它取決于是否應用夏令時(夏季或冬季)。那么我如何指示正確的時區,比如“歐洲/布拉格”,或者以某種方式實現這種翻譯(不可能從服務器返回偏移量)?
查看完整描述

2 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

目前沒有任何內置到 JavaScript 本身(或瀏覽器平臺)中的東西可以讓你這樣做,不,你在圖書館的土地上。幾年后您可能會使用Temporal,但它仍處于提案過程的早期階段。提案中鏈接了一個 polyfill,但您想要使用的部分可能是臨時命名的LocalDateTime(不是最終名稱),這仍在進行中。

您可以使用的一個庫是Moment Timezone??雌饋硐襁@樣:

var a = moment.tz(dateFromPrague, "Europe/Prague");

現場示例:

var dateFromPrague = "2011-10-10T14:48:00";

var a = moment.tz(dateFromPrague, "Europe/Prague");

console.log(a.toDate());

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.27.0/moment.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.31/moment-timezone-with-data.min.js"></script>


查看完整回答
反對 回復 2023-02-24
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

您應該從服務器獲取 UTC 日期,然后可以使用date.toLocaleDateString()轉換為本地日期。這是典型的方法。



查看完整回答
反對 回復 2023-02-24
  • 2 回答
  • 0 關注
  • 230 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號