解析日期时出错请提供有效的ISO 8601日期时间离子

时间:2018-02-27 19:55:01

标签: angularjs ionic-framework ionic2

我已将服务器数据库中的日期保存为时间戳。

然后我使用下面的代码将时间戳转换为日期

completeDate : new Date(timestamp);


It shows date : Wed Feb 28 2018 00:35:06 GMT+0530 (IST)

但是当我尝试设置离子日期时间。它抛出错误

    <ion-datetime displayFormat="MM/DD/YYYY" [(ngModel)]="history.completeDate"></ion-datetime>

解析日期时出错:“2018年2月28日星期三00:35:06 GMT + 0530(IST)”。请提供有效的ISO 8601日期时间格式:https://www.w3.org/TR/NOTE-datetime

任何人都可以帮助我吗

2 个答案:

答案 0 :(得分:1)

当我查看文档时,这就是我找到的内容:

  

Ionic使用ISO 8601日期时间格式作为其值。该值只是一个字符串,而不是使用JavaScript的Date对象。此外,在使用ISO日期时间格式时,它可以更容易地在JSON对象中进行序列化和传递,并向数据库发送标准化格式,以便在需要时轻松解析。

ISO 8601日期时间格式:

YYYY-MM-DDTHH:mmZ

Javascript日期对象可以转换许多字符串格式,但是这个特定的组件需要ISO 8601格式的字符串,因此您需要进行进一步的转换。

答案 1 :(得分:0)

@Animator一样,您需要ISO 8601日期时间格式。

因此,您必须将类型定义为字符串并将值设置为:

completeDate : (new Date(timestamp)).toISOString();

有关Date.prototype.toISOString()的更多信息