有什么办法只要我想创建新日期,就可以将本地时区更改为其他时区。
例如:
const date = new Date().timezone("GMT-04:00");
or
const date = new Date("GMT-04:00");
我的本地时区为GMT+0:300
,但我希望每当我要创建新日期时,默认时区为GMT-04:00
答案 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)