如何获取Javascript中的以前的日期?

时间:2019-05-09 10:06:47

标签: javascript date

我尝试使用下面的代码来获取某个日期的先前日期:

XClick | ocr=Record Video

我希望此代码返回:“ rec_data[0] = 0x04; while (1) { //reception data HAL_I2C_Master_Transmit(&hi2c1, 0xD0, i2cData, 1, 10); HAL_Delay(500); HAL_I2C_Master_Receive(&hi2c1, 0xD0, rec_data, 1, 10); HAL_Delay(500); } ”。 但它返回:'var d = new Date("2019","12","21"); d.setDate(d.getDate() - 1 ); alert(d.getFullYear()+"-"+d.getMonth()+"-"+d.getDate()); '。

有人可以解释为什么此代码如此工作吗? 以及如何修改我的代码以获取以前的日期?

2 个答案:

答案 0 :(得分:5)

月份从零开始。 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());

答案 1 :(得分:0)

我有更简单的方法来获取新日期,例如:

let preDate =  new Date((new Date(2019, 12 - 1, 21).getTime()-24*3600))
console.log(preDate.getFullYear() + "-" + (preDate.getMonth() + 1) + "-" + preDate.getDate());