用户时间区域设置 - 使用javaScript(momentjs)?

时间:2017-02-28 09:21:40

标签: javascript momentjs

所以我正在制作一些带有不同时区的数字时钟,我完成了时钟,现在我想让它们显示用户时间区域设置。因此,如果它在美国它显示在晚上9点,而在欧洲显示21点。

这是时钟的图片

enter image description here

以下是代码:

var elementsDigital = document.querySelectorAll("div[data-timezone]");
Array.prototype.forEach.call(elementsDigital, function(elem) {
    var timezone = elem.getAttribute("data-timezone");
    elem.querySelector(".time").textContent = moment.tz(timezone).locale("en").format("LT");
});

基本上这段代码只根据HTML中data-timezone中的内容获得一些时区,然后使用moment.js语言环境将时区转换为英语,并显示LT格式,即几小时和分钟。

所以,只要你了解我,我想根据用户的本地时间设置在我的时钟中显示不同的时区。所以下午01:00在美国和欧洲13:00等。

1 个答案:

答案 0 :(得分:0)

找到答案:

var elementsDigital = document.querySelectorAll("div[data-timezone]");
Array.prototype.forEach.call(elementsDigital, function(elem) {
    var timezone = elem.getAttribute("data-timezone");
    elem.querySelector(".time").textContent = moment.tz(timezone).locale(window.navigator.userLanguage || window.navigator.language).format("LT");
});` 

只是:window.navigator.userLanguage || window.navigator.language