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

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

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(-62135596800000)/”。

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

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

最佳答案

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

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 !');
}

https://stackoverflow.com/questions/38558578/

相关文章:

ruby-on-rails - 是否可以清除 Spring gem 的缓存?

html - 头部错误中 img 中的错误开始标记

C - 对结构指针数组进行排序比直接对结构进行排序 (qsort)

Scala - 在映射函数中与 lambda 混淆

api - 交响乐 2 : How to use the ParamConverter with a

python - 将变量注入(inject)导入命名空间

sql - 如何在SQL Server中检查回文

validation - 删除 Rails 5 上 belong_to 属性所需的验证

pandas - 比较 Pandas 数据框并添加列

html - 如何仅使用 css 创建 Logo slider 的无限循环