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

Check the date is greater than 0001-01-01 in Moment.js

我有一个格式化日期的函数,

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

但问题是收到的空日期为“0001-01-01”(日期时间最小值)。我如何用 moment js 检查它?

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

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

我收到的 "date" 格式为“/Date(-62135596800000)/”。

我试过了,moment.utc(date).isAfter("0001-01-01") 但效果不佳,returns 正确。

检查序列化日期不是最小日期的最佳方法是什么?

我认为您在比较日期时遗漏了时区部分。请查看下面的代码,如果这是必需的,请告诉我:

var minDate = moment.utc("0001-01-01"); // minimum value as per UTC

var receiveDate = moment("/Date(-62135596800000)/"); // replace with variable
if(moment.utc(receiveDate).isAfter(minDate)){
     alert('yebo !');
}

如果你的日期是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"); 
    }