Momentjs提前一个月节省开支

时间:2017-01-06 01:04:49

标签: javascript node.js momentjs

我正在使用momentjs,我收到了正确的对象,但是当我尝试保存它时节省了一个月的时间,我试图减去其他月份工作正常的月份,但是当我试图保存“十二月”时我得到了错误,“无效日期”,显然是因为它试图保存第13个月,但不存在。

在同一方法中接收对象

Object { day: "12", month: "01", year: "2017", formatted: "12-01-2017", momentObj: Object }

当我尝试使用相同的方法保存时

Object { uid_date: "killerengel_12-02-2017", name: "task1" date: "12-02-2017"}

我用来保存的内容:

let chosenDate = moment(task.date).utc().format('DD-MM-YYYY'); //this gives me a month ahead

Object { day: "30", month: "12", year: "2017", formatted: "30-12-2017", momentObj: Object } 

Object { uid_date: "killerengel_Invalid date", name: "task2", date: "Invalid date" }

1 个答案:

答案 0 :(得分:3)

@deweyredman是对的。对于JavaScript Date()函数,January为0,12月为11.这类似于数组从0开始索引的事实。你认为Moment.js的工作原理是一样的吗?



var jan = new Date().setMonth(0); // NOT 1 for Jan.

console.log(new Date(jan)); // returns 2017-01...

var dec = new Date().setMonth(11); // NOT 12 for Dec.

console.log(new Date(dec)); // returns 2017-12...