我试过下面的代码来获取某个日期的以前的日期:
var d = new Date("2019","12","21");
d.setDate(d.getDate() - 1 );
alert(d.getFullYear()+"-"+d.getMonth()+"-"+d.getDate());
Run Code Online (Sandbox Code Playgroud)
我希望此代码返回:“ 2019-12-20
”。但它返回:' 2020-0-20
'。
有人可以解释为什么此代码如此工作吗?以及如何修改我的代码以获取以前的日期?
月从零开始。0是1月,11是12月,因此12又是1月。您将从1月21日到1月20日。
要使用基于一个月的月份,将值插入日期时必须递减,而从日期中读取则必须递增:
// v
const date = new Date(2019, 12 - 1, 21);
date.setDate(date.getDate() - 1);
// v
console.log(date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
61 次 |
最近记录: |