错误解析日期请提供有效的ISO 8601 DateTime Ionic



我已将日期保存在服务器数据库中。

然后,我将使用以下代码

将时间戳转换为迄今为止
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 ;
                }
            }

最新更新