使用 Momentjs 比较两个日期

bp1*_*123 2 momentjs

我正在尝试比较两个日期。我想检查一个日期是否在另一个日期之前。我正在使用 momentjs,我所做的一切似乎都会返回false。任何帮助,将不胜感激。

Format - [Month, Year]
moment([0, 2012]).isBefore([1, 2013]);
Run Code Online (Sandbox Code Playgroud)

Joe*_*iel 5

它总是会以您编码的方式为您提供无效日期。有很多方法可以使用moment来构造日期。尝试这个:

var a = moment([2012, 0]);
var b = moment([2013, 1]);
console.log(a.isBefore(b)); //returns true
Run Code Online (Sandbox Code Playgroud)

同样,请仔细阅读文档中关于“0”作为月份的用法,在 2.1.0 版本之前和之后:

月份是零索引的,所以一月是月份 0。

在 2.1.0 版本之前,如果某个时刻更改了月份,而新的月份没有足够的天数来保留当前月份的日期,则会溢出到下个月。

// before 2.1.0
moment([2012, 0, 31]).month(1).format("YYYY-MM-DD"); // 2012-03-02
Run Code Online (Sandbox Code Playgroud)

从 2.1.0 版本开始,这已更改为限制到目标月末。

// after 2.1.0 moment([2012, 0, 31]).month(1).format("YYYY-MM-DD"); // 2012-02-29