Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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
Angularjs 角度UI日期选择器-API中的日期格式_Angularjs_Angular Ui - Fatal编程技术网

Angularjs 角度UI日期选择器-API中的日期格式

Angularjs 角度UI日期选择器-API中的日期格式,angularjs,angular-ui,Angularjs,Angular Ui,我正在使用AngularUI日期选择器组件。当我的数据来自API时,我会在JSON中获得以下格式的日期: "date": "2015-10-21T00:00:00" datepicker正在将输入字段中的日期正确格式化为2015年10月21日。但是,如果单击表单上的“提交”按钮而不进行任何更改,则日期字段将无法验证 如果我将日期模型设置为日期对象,而不是像这样的字符串,则在加载JSON之后: vm.date = new Date(); 然后验证工作开始了 因此,当使用字符串值作为模型时,da

我正在使用AngularUI日期选择器组件。当我的数据来自API时,我会在JSON中获得以下格式的日期:

"date": "2015-10-21T00:00:00"
datepicker正在将输入字段中的日期正确格式化为2015年10月21日。但是,如果单击表单上的“提交”按钮而不进行任何更改,则日期字段将无法验证

如果我将日期模型设置为日期对象,而不是像这样的字符串,则在加载JSON之后:

vm.date = new Date();
然后验证工作开始了

因此,当使用字符串值作为模型时,datepicker组件似乎没有正确设置日期

有办法解决这个问题吗

以下是指向plunkr的链接:


如果您使用datepicker日历选择一个日期,它可以正常工作。但是,如果使用按钮设置日期,就像使用JSON API数据一样,则验证失败。

查看源代码,似乎可以将模型日期设置为时间戳编号或日期对象,但不能设置为字符串。字符串应作为输入值,并将使用自定义数据格式dd MMMM yyyy进行解析


请参见

请提供您的代码,然后我们可以找到问题。可能只需要定义日期类型的输入字段。如果指定输入类型日期,则无法控制格式和使用月份名称。此外,您还可以使用微调器按钮和浏览器自己的日期选择器。极坏的但我会用代码更新。@Michael代码提供。谢谢。这似乎很奇怪。JSON标准是ISO8601日期,但是您通常会以不同的方式显示日期。所以我不知道他们为什么要用你的查看日期的格式。我将尝试交换这一行并首先使用viewValue:var value=modelValue | | viewValue;。但不确定是否有任何不利影响。您可能会遇到其他问题,如使用日历弹出窗口时。您应该按照设计使用模块,并在模块中使用日期对象,而不是字符串。JSON.stringify将自动将日期转换为ISO8601。但是,当从服务器读取JSON响应时,必须将字符串转换为日期$scope.mydate=新日期2015-10-22T22:00:00.000Z;如果您使用时间戳,则使用新的Date1445551200000。奇怪的是,它的设计不允许您将JSON数据直接绑定到控件,并且您必须为每个实例执行额外的步骤,特别是考虑到涉及ISO标准。谢谢,这很有帮助。JSON标准定义了数字、字符串、对象和列表,但没有日期。它可能定义了如何将日期序列化为字符串,但没有关于如何从字符串中标识日期的信息。