我正在使用Datatables探索moment.js,它非常适合以我想要的格式显示日期,但是我对转换的数据存在问题。如果日期无效,则显示消息INVALID DATE,wihch很好,但不是我真正想要的。是否有可能,显示“无效日期”消息,显示最初在那里?就好像它不是一个日期我想看到它是什么,而不是那个消息。
谢谢!
编辑:谢谢你的帮助!我已经为数据表“aoColumns”做了这个:
{ "mData": "APE",
"render": function(mData){
if(mData != null){
if(moment(mData).format("DD/MM/YYYY")== 'Invalid date')
{
return mData;
}
else
{
return moment(mData).format("DD/MM/YYYY");
}
}
},
sDefaultContent: ''},
根据你如何实现Moment.js,你可以简单地检查返回值?例如
var prettyDate = moment()...;
if(prettyDate != 'Invalid date') {
// set your date
}
var dateStr = "aw 2017-06- awd 09 10:05:21.0";
//var dateStr = "a2017-06-09 10:05:21.0";
if(moment(dateStr, moment.ISO_8601).isValid()){
alert("Valid Date: " + moment(dateStr).format('MM/DD/YYYY'));
}
else {
alert("Invalid Date: " +dateStr);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
尝试创建自己的函数,检查日期是否有效,请参阅moment validation,如果无效则返回消息的原始数据。
更新:有关代码段的更多说明,请参阅this帖子
moment.updateLocale(moment.locale(), { invalidDate: "ur msg or NaN/null" });