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

标签 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”(日期时间最小值)。我如何用 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 !');
}

关于json - 在 Moment.js 中检查日期是否大于 0001-01-01,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38558578/

相关文章:

javascript - 即时夏令时

javascript - 时刻JS ("Must to show days in next week")

javascript - 将时区格式的日期显示为 UTC 时间

swift - 我如何比较 Swift 3 中的两个日期 (NSDate) 并获得它们之间的日期?

java - 限制对 AWS S3 服务器上的 JSON 文件的写入访问

java - 无法解析获取无效数组范围 : 5 to 5 的响应

javascript - 为什么 JSON.stringify 返回未定义

java - 图像文本按钮LibGDX

java - 比较两个数组列表以返回最新日期

sql-server - 在 sql server 2012 中查询日期时间间隔太长,毫秒差异