Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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 表单在ExtJS 6中返回不正确的日期字段值_Javascript_Extjs - Fatal编程技术网

Javascript 表单在ExtJS 6中返回不正确的日期字段值

Javascript 表单在ExtJS 6中返回不正确的日期字段值,javascript,extjs,Javascript,Extjs,我有一个,它复制了看起来像虫子的东西。这是我的html代码: <div id="btn"></div> <div id="datefield"></div> 当我将datefield值设置为当前日期并按下“获取值”按钮时,我会得到一个与我设置的值不同的值。以下是屏幕演示: 可能有什么问题,我如何解决 编辑 当我这样做时: console.log(Ext.getCmp(id).getForm().getFieldValues()); 在控制台中

我有一个,它复制了看起来像虫子的东西。这是我的html代码:

<div id="btn"></div>
<div id="datefield"></div>
当我将datefield值设置为当前日期并按下“获取值”按钮时,我会得到一个与我设置的值不同的值。以下是屏幕演示:

可能有什么问题,我如何解决

编辑

当我这样做时:

console.log(Ext.getCmp(id).getForm().getFieldValues());
在控制台中,我还看到这个不正确的值:


因此,整个问题不在于
JSON.stringify
,而在于
ExtJS

调用
JSON.stringify
方法时,
Date
对象转换为
UTC
格式。您正在选择带有时区的日期,当您将其序列化为
JSON
时,您将获得不带时区的日期值。从警报信息中,我可以说您的时区是GMT+3。因此,表单返回了正确的值。

如果我只使用console.log(Ext.getCmp(id).getForm().getFieldValues()),而不使用JSON.stringify,我也会看到这个错误的值。这是我在将
alert
语句更改为
console.log
表单值而不使用
JSON.stringify
-
对象时得到的结果{datefield-1010-inputEl:2017年4月29日星期六00:00:00 GMT+0400(高加索标准时间)}
您可以看到date对象的末尾有一个时区应用程序。我刚刚用相同的值在my timezone中检查了它,然后再次看到不正确的值。因此,ExtJS出现了一些问题,我想我需要一些修复。在浏览器的控制台中执行此代码,您得到了什么?
console.log(new date())
我看到这个
日期2017-04-29T09:57:19.841Z
console.log(Ext.getCmp(id).getForm().getFieldValues());