从另一个日期添加/减去增量
添加/减去增量有两种通用方法。第一种方法在Stack Overflow上更受欢迎,它简洁,但更难掌握。第二种方法更冗长,但更容易理解。
假设希望获得从今天起三天的日期。对于这个例子,假设今天是 2019年3月28日
。
第一种方法【经过测试,日期正确】
const today = new Date(2019, 2, 28)
首先,我们创建一个新的Date对象,这样就不会改变原始日期
const finalDate = new Date(today)
接下来,我们需要知道要更改的值。因为我们要改变日期,所以我们可以用 getDate
获得日期
const currentDate = today.getDate()
因为获取三天后的日期,所以需要在得到的日期加3
setDate(currentDate + 3)
完整代码:
const today = new Date(2019, 2, 28)
const finalDate = new Date(today)
finalDate.setDate(today.getDate() + 3)
console.log(finalDate) // 31 March 2019
实例二
var nowDate = new Date();
var finalDate = new Date(nowDate);
finalDate.setDate(nowDate.getDate() + 1)
var year = finalDate.getFullYear(), month = finalDate.getMonth() + 1, day = finalDate.getDate();
month = month < 10 ? '0' + month : month;
day = day < 10 ? ('0' +parseInt(day)) : parseInt(day);
第二种方法【这种方法有待验证日期的正确性】
使用 getFullYear
, getMonth
, getDate
方法,更改对应的值, 然后,我们使用 newDate
创建最终日期。
const today = new Date(2019, 2, 28)
// Getting required values
const year = today.getFullYear()
const month = today.getMonh()
const day = today.getDate()
// Creating a new Date (with the delta)
const finalDate = new Date(year, month, day + 3)
console.log(finalDate) // 31 March 2019