Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将本地时区更改为其他时区_Javascript_Date - Fatal编程技术网

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

Javascript 将本地时区更改为其他时区,javascript,date,Javascript,Date,有没有一种方法可以让我在创建新日期时将本地时区更改为不同的时区 例如: const date = new Date().timezone("GMT-04:00"); or const date = new Date("GMT-04:00"); 我的本地时区是GMT+0:300,但我希望每当我想要创建新日期时,它的默认时区是GMT-04:00可能不是您想要的,但下面是如何计算差异: dd=new Date(); console.log(dd); dd.

有没有一种方法可以让我在创建新日期时将本地时区更改为不同的时区

例如

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

or

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

我的本地时区是
GMT+0:300
,但我希望每当我想要创建新日期时,它的默认时区是
GMT-04:00
可能不是您想要的,但下面是如何计算差异:

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)

假设您希望获得非ISO格式的GMT时间,因此您所要做的就是指定所需的时区

因此,对于GMT,它将如下所示:

const gmt=new Date(){
时区:“格林尼治标准时间”
});

log(`GMT时间:${GMT}`)这是否回答了您的问题?日期实例没有时区,它们只是1970-01-01的一个偏移量,它们没有其他信息。@RobG所以我在So中找到了帖子,答案是相似的,我几个月前才想到,我只是仔细阅读了评论,发现,
(新日期(gmt))。toISOString()
实际上不是一个有效的东西。这是真的吗?是否有其他方法可以获取ISO格式?@SMAKSS-
新日期(gmt)。toISOString()
有效。您链接到的答案的问题已在中解释,即不需要内置解析器来正确解析toLocaleString的结果。对于如何处理DST转换期间的日期和时间也没有标准,浏览器会以不同的方式处理。请记住,如果其中一个答案对您有效,请将其标记为答案,以帮助社区中的其他PEEP在面临相同问题时更容易找到解决方案。您可以在答案旁边使用灰色标记(勾选)(您只能选择一个),有关更多信息,请阅读。请向上投票选出好答案并选择最佳答案。希望是我的!谢谢