Javascript 日期().setDate()行为不一致
据 我应该在代码中使用setDate() 现在将更改为上个月的最后一天 这意味着我应该能够做这样的事情:Javascript 日期().setDate()行为不一致,javascript,date,Javascript,Date,据 我应该在代码中使用setDate() 现在将更改为上个月的最后一天 这意味着我应该能够做这样的事情: now.setDate(0).setDate(1) 获取上个月第一天的日期 但身份证不是那样工作的 var now = new Date(); console.log(now) // FF 24: Date {Wed Jul 09 2014 16:35:49 GMT+0100 (IST)} now.setDate(0); console.log(now) // FF 24: Date
now.setDate(0).setDate(1)
获取上个月第一天的日期
但身份证不是那样工作的
var now = new Date();
console.log(now)
// FF 24: Date {Wed Jul 09 2014 16:35:49 GMT+0100 (IST)}
now.setDate(0);
console.log(now)
// FF 24: Date {Mon Jun 30 2014 16:35:49 GMT+0100 (IST)}
但是
问题:
两者的区别是什么
var now = new Date();
now.setDate(0);
及
在第二个示例中,您看到的是
.setDate()
函数的返回值,而不是日期本身。.setDate()
函数返回与对象的更新值相对应的时间戳值。就像这样:
var now = new Date();
now.setDate(0);
console.log(now.getTime());
我已经阅读了ECMA规范中setDate()函数的定义,没错,该函数返回时间戳。但是,它打破了函数方法:(但是有一个很棒的库,它为您提供了实际的对象和方法,可以链接。
var now = new Date();
now.setDate(0);
var now = new Date().setDate(0);
var now = new Date();
now.setDate(0);
console.log(now.getTime());