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

Dha*_*777 1 json date-comparison momentjs

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

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

但问题是空日期被接收为“0001-01-01”(DateTime Min 值)。我怎样才能用moment js检查它?

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

new moment("0001-01-01").format("DD MMM YYYY") == moment.utc(date).format("DD MMM YYYY")
Run Code Online (Sandbox Code Playgroud)

我收到的“日期”是“/Date(-62135596800000)/”格式。

我试过,moment.utc(date).isAfter("0001-01-01")但效果不佳,返回true。

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

Ash*_*Ash 6

我认为您在比较日期时缺少时区部分。请查看下面的代码,让我知道这是否是必需的:

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 !');
}
Run Code Online (Sandbox Code Playgroud)