使用 JavaScript 获取日期的前一天
Get the Previous day of a Date using JavaScript
使用该setDate()
方法获取日期的前一天,例如
date.setDate(date.getDate() - 1)
。该setDate
方法将每月的日期作为参数并更改Date
实例的值。
索引.js
function getPreviousDay(date = new Date()) { const previous = new Date(date.getTime()); previous.setDate(date.getDate() - 1); return previous; } console.log(getPreviousDay()); // 👉️ yesterday // 👇️ Fri Dec 23 2022 console.log(getPreviousDay(new Date('2022-12-24'))); // 👇️ Sat Dec 31 2022 console.log(getPreviousDay(new Date('2023-01-01')));
我们创建了一个可重用的函数,它返回某个日期的前一天。
我们定义previous
变量是因为
setDate
方法改变了Date
调用它的对象。
Date
如果您需要保留传入的对象,这可能不是您想要的。
在函数的第一行,我们创建了一个
Date
存储相同日期和时间的新对象。该方法采用和setDate
之间的整数表示月份中的第几天,并更改给定对象上的值。1
31
Date
我们使用
getDate
方法获取特定日期所在月份的第几天,并将结果减 1。
该方法返回一个介于和getDate
之间的整数。1
31
我们在定义函数时使用了默认参数
getPreviousDay
。如果用户没有传入Date
对象,该函数将返回昨天的日期。请注意,
Date
对象会自动处理日期为每月第一天的情况。
如果是这种情况,Date
对象将自动回滚到上个月。
索引.js
function getPreviousDay(date = new Date()) { const previous = new Date(date.getTime()); previous.setDate(date.getDate() - 1); return previous; } // 👇️ Tue Jan 31 2023 console.log(getPreviousDay(new Date('2023-02-01'))); // 👇️ Sat Dec 31 2022 console.log(getPreviousDay(new Date('2023-01-01')));
该Date
对象还处理前一天是前一年的最后一天的情况。