我正在尝试比较两个日期。我想查看一个日期是否在另一个之前。我正在使用momentjs,我所做的一切似乎都会返回false
。任何帮助,将不胜感激。
Format - [Month, Year]
moment([0, 2012]).isBefore([1, 2013]);
答案 0 :(得分:1)
它始终会以您编码的方式为您提供无效的日期。使用时刻构建日期的方法有很多种。试试这个:
var a = moment([2012, 0]);
var b = moment([2013, 1]);
console.log(a.isBefore(b)); //returns true
在同一个说明中,请仔细阅读有关" 0"的用法的文档。作为月份,版本2.1.0之前和之后:
月份为零索引,因此1月份为0月。
在版本2.1.0之前,如果一个时刻改变了几个月并且新月没有足够的时间来保持当月的当天,它将会溢出到下个月。
// before 2.1.0
moment([2012, 0, 31]).month(1).format("YYYY-MM-DD"); // 2012-03-02
从版本2.1.0开始,此更改被限制为目标月末。
// after 2.1.0
moment([2012, 0, 31]).month(1).format("YYYY-MM-DD"); // 2012-02-29
答案 1 :(得分:0)
这似乎有用:
var a = moment({month: 0, year: 2012});
var b = moment({month: 2, year: 2014});
console.log(a.isBefore(b))