[英]Can't understand the confusing behavior of Date time in Javascript
var localTime = new Date().toLocaleString("en-US", { timeZone: 'Asia/Dhaka' }); var timeStamp = Number(new Date(localTime)); console.log(new Date(timeStamp))
當我的計算機時間是本地時間時,它會打印 UTC 時間,但是當我將計算機時間設置為 UTC 時間時,它會打印本地時間? 它不應該總是打印我的當地時間嗎?
例如,當我的計算機時間為 19:46:46 時,它會打印 2020-05-19T13:46:46.000Z(我的時區是 UTC+6)。 當我將計算機的時間更改為 13:46:46 時,它會打印 2020-05-19T19:46:46.000Z。
這是我電腦時間的截圖。
這並不令人困惑。 它始終是運行它的機器的本地時間。 toLocaleString()
不會在時區之間轉換。 第二個參數更改日期在該區域中的表示方式(語言、格式)。 日期和時間相同。
一個好的解決方案可能是始終使用 UTC 並在需要將其顯示為本地時間時從那里進行轉換。 這樣你就可以控制當地時間。
Date.UTC()
將讓您創建一個 UTC 日期,或者您可以使用方法date.getUTCxxx()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.