Moment.js日期消息无效

问题描述 投票:1回答:3

我正在使用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: ''},
javascript datatable momentjs
3个回答
2
投票

根据你如何实现Moment.js,你可以简单地检查返回值?例如

var prettyDate = moment()...;

if(prettyDate != 'Invalid date') {
    // set your date
}

2
投票

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帖子


2
投票
moment.updateLocale(moment.locale(), { invalidDate: "ur msg or NaN/null" });
© www.soinside.com 2019 - 2024. All rights reserved.