Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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
将GMT中的日期/时间转换为Javascript中的EST_Javascript - Fatal编程技术网

将GMT中的日期/时间转换为Javascript中的EST

将GMT中的日期/时间转换为Javascript中的EST,javascript,Javascript,在Javascript中,无论用户设置如何,如何将GMT中的日期/时间转换为EST?请参见此处: 您所要做的就是以毫秒为单位获取时间,然后添加以毫秒为单位的偏移量,然后移回日期时间对象 var tmpDate = New Date("enter any valid Date format here") javascript函数将自动将其转换为本地时间 例如: var tmpDate = new Date("Fri Jul 21 02:00:00 GMT 2012"); alert(tmpDa

在Javascript中,无论用户设置如何,如何将GMT中的日期/时间转换为EST?

请参见此处:

您所要做的就是以毫秒为单位获取时间,然后添加以毫秒为单位的偏移量,然后移回日期时间对象

var tmpDate = New Date("enter any valid Date format here")
javascript函数将自动将其转换为本地时间

例如:

var tmpDate = new Date("Fri Jul 21 02:00:00 GMT 2012");
alert(tmpDate);
//Result: Fri Jul 20 22:00:00 EDT 2012

在jsfiddle尝试一些不同的值:

我惊讶地发现了最简单的解决方案

若在GMT中有日期,并且在浏览器中创建日期时,它始终在该时区中创建

最简单的方法是使用GMT本身创建日期对象,然后执行以下操作

starTime.setHours(starTime.getHours()+(starTime.getTimezoneOffset()/60));

就这样。即使您有一个后天节光的日期,比如11月之后,它也会起作用。

请参阅仔细查看代码。虽然输出字符串与目标时区中的日期完全匹配,但最终的日期对象仍将位于本地时区。在StackOverflow社区中,W3Schools因各种原因而备受憎恨,请参见。而且,这可能是解决问题的最简单/最好的方法(我在与工作相关的项目中使用相同的方法)。