如何最好地显示事件的当地时间?

时间:2019-07-02 05:03:16

标签: javascript date

我每天在世界标准时间1AM发生一个事件。我正在尝试找到向用户显示本地时间的最简单方法:

document.getElementById('local').innerHTML=(new Date(3600000)).toLocaleTimeString();

工作半年。但这并没有考虑到日光节约时间,因此现在在使用日光节约的地方,它会减少一个小时。对于那些不使用夏令时的地方来说是正确的。

3 个答案:

答案 0 :(得分:1)

如果要以区域设置格式显示在世界标准时间凌晨1点发生的事件,则还必须包括日期部分。您不能只使用new Date(3600000),因为它是1970-01-01 01:00:00 UTC,所以您将获得当时的时区偏移量(由于夏令时或因为区域设置具有更改了其偏移量。)

因此,如果您想在接下来的7天中每隔凌晨1点UTC,那么:

var d = new Date();
d.setUTCHours(1,0,0,0);
for (var i=7; i>0; i--) {
  console.log(d.toLocaleString());
  d.setUTCDate(d.getUTCDate() + 1);
}

答案 1 :(得分:0)

const timeZoneValue = "Asia/Kolkata";
const localeStr = "en-US";

document.getElementById('local').innerHTML=(new Date().toLocaleString(localeStr , {timeZone: timeZoneValue}));

答案 2 :(得分:0)

var oneam = new Date(new Date().setUTCHours(1,0,0,0));
console.log(oneam.toString())

今天将在世界标准时间凌晨1点作为当地时间字符串显示。