的toLocaleString()已過時日期時間,但似乎缺乏替代
我有一個網站,我會員後日期存儲格式爲:YYYY-MM-DD HH:MM :SS轉換過去使用JS用瀏覽器支持
問題是這些日期都與時區UTC一起存儲,我想將這些日期使用JS轉換爲用戶操作系統時區。我知道我可以讓用戶輸入他們的時區,但我想嘗試一些新的功能,儘可能減少用戶的互動。該網站的目標是建立一個非常簡單易用的論壇。
我幾乎已經按照我想要的方式工作,但它目前僅支持Chrome。由於我計劃擁有大量用戶,這還不夠好。
由於時區偏移量的變化,它不夠好,只能檢索當前很多主題似乎暗示的時間偏移量。我想準確顯示例如註冊日期。
這是我目前的解決方案(時區測試只支持鉻,據我所知),它也是在測試版的整個網站上實施。
https://ingsan.net/timezone/
下面的源代碼
var d = new Date();
var tzName = d.toLocaleString('en', {timeZoneName:'short'}).split('').pop();
var cusid_ele = document.getElementsByClassName('timestamp');
for (var i = 0; i < cusid_ele.length; ++i) {
var timestamp = cusid_ele[i];
timestamp.innerHTML += " "+tzName;
t = new Date(timestamp.innerHTML);
usertime = t.toLocaleString()
timestamp.innerHTML = usertime;
}
我已經使用這個網站多年沒有要求,但是這一次,我似乎無法找到足夠類似地雷的話題。
我使用的方法可能會有問題,它只是簡單地替換分配的類名中的對象。我打算爲其他格式輸出做其他類。
<p>Register date: <span class="timestamp">2016-01-31 20:12:55</span></p>
如果你有解決這個問題,我將非常感激。我不是專業人士,從來沒有去過任何課程,但我已經成功地自己創建了ingsan.net。幫助一個不起眼的學生;)
你想要完成的事情不是很清楚,但像[moment.js](http://momentjs.com/)這樣的JavaScript庫可能對時區問題有幫助。 – Roberto