因此,我试图得到不同的时区,我已经设置了时间,然而,在所有区域中都显示了相同的时间。
这是我的代码:
const format = 'HH:MM'
// San Francisco - Time
let sanFrancisco = moment().tz('Etc/GMT-8').format(format)
document.querySelector('.sanFrancisco').innerHTML = sanFrancisco + ' GMT-8';
// Mexico City - Time
let mexicoCity = moment().tz('Etc/GMT-6').format(format)
document.querySelector('.mexicoCity').innerHTML = mexicoCity + ' GMT-6'
// New York City - Time
let newYorkCity = moment().tz('Etc/GMT-5').format(format)
document.querySelector('.newYork').innerHTML = newYorkCity + ' GMT-5'
// Montréal - Time
let montreal = moment().tz('Etc/GMT-5').format(format)
document.querySelector('.montreal').innerHTML = montreal + ' GMT-5'
// London - Time
let london = moment().tz('Etc/GMT+0').format(format)
document.querySelector('.london').innerHTML = london + ' GMT+0'我现在看到的是:

至于加载,我只是使用CDN,例如:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone.min.js"></script>发布于 2018-12-19 21:32:08
由于没有使用时区加载时区,因此需要添加要使用的每个时区。要添加所有时区,只需加载以下文件:
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone-with-data.js"></script>而不是:
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone.min.js"></script>发布于 2018-12-19 21:35:59
您很可能在后台得到以下错误,它不会阻止显示格式化日期,但不会添加区域偏移量:
Min.js:1 Timezone没有Etc/GMT+0的数据。见http://momentjs.com/timezone/docs/#/data-loading/。
在使用时区之前,需要使用moment.tz.add()加载时区。例如,洛杉矶:
moment.tz.add('America/Los_Angeles|PST PDT|80 70|0101|1Lzm0 1zb0 Op0');
let kobe = moment().tz('America/Los_Angeles').format(format)发布于 2018-12-19 21:36:48
您需要将格式从'HH:MM'更改为'HH:mm'。
MM是这个月的,但是你要找的是几分钟,也就是mm。
您还需要小心这些Etc/GMT-X时区中的标志。您为旧金山指定了Etc/GMT-8,但是这些时区的标志是倒置的,所以它实际上是Etc/GMT+8 (使用时区名称更好的另一个原因)。
例如:
const sf = moment().tz('America/Los_Angeles').format('HH:mm');
const sfetc = moment().tz('Etc/GMT+8').format('HH:mm');
console.log(sf);
console.log(sfetc);<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone-with-data.js"></script>
https://stackoverflow.com/questions/53859262
复制相似问题