在Moment.js中检查日期是否大于0001-01-01

时间:2016-07-25 01:36:17

标签: json momentjs date-comparison

我有一个使用日期格式化的功能,

export function FormatDate(date: string) {
if (date != null) {
    return moment.utc(date).format('DD MMM YYYY');
}
else
    return "";
}

但问题是收到的空日期是" 0001-01-01" (DateTime最小值)。如何用时刻js检查它?

无法找到直接的方法来做到这一点。以下代码有效,但它很难看,

new moment("0001-01-01").format("DD MMM YYYY") == moment.utc(date).format("DD MMM YYYY")

" date"我收到的是" /日期(-62135596800000)/"格式。

我试过了,moment.utc(date).isAfter("0001-01-01")并且它不能正常工作,返回true。

检查序列化日期的最佳方法是不是最短日期?

2 个答案:

答案 0 :(得分:3)

我认为你在比较日期时错过了时区部分。请参阅以下代码,如果需要,请告知我们:

filtered = _.pick(obj, function(value, key) {return value;})

答案 1 :(得分:0)

如果你的日期是 c# 格式你可以这样做

    var dateObject = "/Date(-62135596800000)/";
    var ScriptDate = new Date(parseInt(dateObject.substr(6)));
    var minDate = moment.utc("0001-01-01");
    if(moment.utc(ScriptDate).isAfter(minDate)){ 
        console.log("Correct date"); 
    }else{ 
        console.log("Incorrect date"); 
    }