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 如何在不增加小时数的情况下将GTM-0006转换为ISO_Javascript_Date_Dom Events - Fatal编程技术网

Javascript 如何在不增加小时数的情况下将GTM-0006转换为ISO

Javascript 如何在不增加小时数的情况下将GTM-0006转换为ISO,javascript,date,dom-events,Javascript,Date,Dom Events,我在一个from中工作,from有一个日期字段,默认情况下显示当前日期 我使用以下方法设置日期: var date = new Date(); = Tue May 25 2021 17:06:01 GMT-0600 (Mountain Daylight Time) {}** 一切正常,但当我将数据发送到控制器时,JSON会自动将其转换为ISO,控制器收到的日期提前6小时 我稍微了解一下GMT-0006的上下文(我当前的时区比0时区多6小时),以及我的控制器收到ISO格式的日期这一事实,因为当

我在一个from中工作,from有一个日期字段,默认情况下显示当前日期

我使用以下方法设置日期:

var date = new Date();  = Tue May 25 2021 17:06:01 GMT-0600 (Mountain Daylight Time) {}**
一切正常,但当我将数据发送到控制器时,JSON会自动将其转换为ISO,控制器收到的日期提前6小时

我稍微了解一下GMT-0006的上下文(我当前的时区比0时区多6小时),以及我的控制器收到ISO格式的日期这一事实,因为当我转换为ISO格式时也是同样的问题

date.toISOString() = "2021-05-25T23:06:01.861Z"  (6 hours  in advance)
所以我的问题是,有一种方法可以创建一个日期,允许我使用
.toISOString()
并保持不变?
或者用我当前的小时数创建一个日期,但-0000,因此当我将其转换为
toISOString
时,保持不变?

如果解析生成的ISO字符串,如
新日期('2021-05-25T23:06:01.861Z')
,您会得到什么日期?日期是提前6小时还是同一个准确时间?“Z”表示utc/零偏移。这是同一时间,只是在一个不同的区域。只要将日期保存为ISO字符串,无论使用什么,都可以在正确的本地时区对其进行解析,类似于您可以执行的
newdate('2021-05-25T23:06:01.861Z')
,并且它与您开始使用的时间完全相同。不要试图去掉“Z”或更改时间,它的格式将适用于不同的客户。还有一个问题。如果某个事件(如生日)恰好发生在您的新日期()的某个时刻,您将在web应用程序的日历上显示该事件。你希望芝加哥用户在他们的山地活动日历中看到什么?@AlexanderStaroselsky如果你还有其他问题,发布一个新问题。没有时间的日期没有时区,1月1日从本地1月1日开始。如果你在生日那天01:00就在国际日期线的西边,那么向东越过这条线意味着现在是前一天,而不是你的生日,你必须等待新的一天…:-)@RobG我听到你在说什么,但我没有提出这个问题,我向OP提问澄清问题,以了解问题和期望。Date对象有日期和时间,我不是指没有时间的日期。