将本地时区更改为其他时区javascript

时间:2020-06-22 10:16:16

标签: javascript date

有什么办法只要我想创建新日期,就可以将本地时区更改为其他时区

例如

const date = new Date().timezone("GMT-04:00");

or

const date = new Date("GMT-04:00");

我的本​​地时区为GMT+0:300,但我希望每当我要创建新日期时,默认时区为GMT-04:00

2 个答案:

答案 0 :(得分:1)

假设您要获取无ISO格式的GMT时间,因此您要做的就是toLocaleString,然后指定所需的时区

因此对于GMT,它看起来像这样:

const gmt = new Date().toLocaleString("en-GB", {
  timeZone: "GMT"
});

console.log(`GMT time: ${gmt}`);

但是,如果您要查找ISO格式,则应从以前的日期创建一个新日期,然后使用toISOString转换格式。 要转换为ISO,无需将语言环境参数传递给日期解析器。否则,结果将是错误的。

const gmt = new Date().toLocaleString({
  timeZone: "GMT"
});

console.log(`GMT time in ISO: ${(new Date(gmt)).toISOString()}`);

答案 1 :(得分:0)

可能不是您想要的东西,但是这是计算差异的方法:

dd=new Date();
console.log(dd);
dd.setMinutes(dd.getMinutes()+dd.getTimezoneOffset()-4*60);
console.log(dd);

输出:

Mon Jun 22 2020 13:23:33 GMT+0300 (Israel Daylight Time)
Mon Jun 22 2020 06:23:33 GMT+0300 (Israel Daylight Time)