我已将日期保存在服务器数据库中。
然后,我将使用以下代码
将时间戳转换为迄今为止completeDate : new Date(timestamp);
It shows date : Wed Feb 28 2018 00:35:06 GMT+0530 (IST)
但是,当我尝试在离子datetime设置时。它引发错误
<ion-datetime displayFormat="MM/DD/YYYY" [(ngModel)]="history.completeDate"></ion-datetime>
错误解析日期:" 2018年2月28日00:35:06 GMT 0530(IST("。请提供有效的ISO 8601 DateTime格式:https://www.w3.org/tr/note-datetime
任何人都可以帮我这个
当我研究文档时,这是我发现的:
离子使用ISO 8601 DateTime格式的值。该值只是一个字符串,而不是使用JavaScript的日期对象。此外,当使用ISO DateTime格式时,它可以更轻松地在JSON对象中序列化和传递,并向数据库发送标准化格式,如有需要,可以轻松解析。
也是ISO 8601 DateTime格式:
YYYY-MM-DDTHH:mmZ
JavaScript日期对象可以转换许多字符串格式,但是此特定组件需要ISO 8601格式字符串,因此您需要进行进一步的转换。
@animator说您需要ISO 8601 DateTime格式。
因此,您必须将您的类型定义为字符串,并将您的值设置为:
completeDate : (new Date(timestamp)).toISOString();
date.prototype.toisostring((
我尝试从给定的日期格式手动创建ISO字符串 - 在我的情况下:( dd-mmm yyyy(
function xx_formatDate(p_date){
//to resolve error - "Please provide valid ISO 8601 string."
if(p_date){
let formattedDate = new Date(p_date);
let dateArr = formattedDate.toLocaleDateString().split('/');
let l_year = dateArr[2];
let l_month = dateArr[0];
let l_date = dateArr[1];
l_month = (l_month.length>1)? l_month : '0'+l_month;
l_date = (l_date.length>1)? l_date : '0'+l_date;
return l_year+'-'+l_month+'-'+l_date;
} else {
return ;
}
}