如何在javascript中使用’new Date()’函数设置时区?

How do I set up timezone with 'new Date()' function in javascript?

本问题已经有最佳答案,请猛点这里访问。

在这里,我想把时区'America / Santiago'...
但是我得到'无效日期'结果,为什么?

请记住,我只想从'new Date()'函数中检索时间数据,而不是从Javascript Libraries中检索时间数据

请记住,我不想自动占用客户时间,我想拍时区'America / Santiago',但我来自Indoneisa

不是'getTimezoneOffset'函数,但是使用'new Date()'函数,我也知道'getTimezoneOffset'函数,但是这个函数根据哪个用户在哪个时区自动获取时区。

1
2
3
4
5
function showTheTime() {
  var da_te = new Date('America/Santiago');
  document.getElementById("result").innerHTML = da_te;
}
showTheTime();
1
2
<p id="result">
</p>


无法设置内置Date对象的时区。 它的时区始终是当地时区。

但是,moment.js的Moment Timezone插件允许您将时刻更改为特定时区。

例:

1
2
3
4
5
6
7
function showTheTime() {
    var da_te = moment().tz('America/Santiago');
    document.getElementById("result").textContent = da_te.format('d/M/YY h:mma');
    console.log(da_te.valueOf());
}

showTheTime();
1
2
3
4
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js">
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.13/moment-timezone-with-data.min.js">
<p id="result">
</p>