在JavaScript中获取日期的前一天,可以通过以下几种方法实现:
setDate()
方法function getPreviousDay(date) {
let previousDay = new Date(date);
previousDay.setDate(previousDay.getDate() - 1);
return previousDay;
}
// 使用示例
let today = new Date();
let yesterday = getPreviousDay(today);
console.log(yesterday);
function getPreviousDay(date) {
let year = date.getFullYear();
let month = date.getMonth();
let day = date.getDate();
// 减去一天
day -= 1;
// 处理月份和年份的变化
if (day < 1) {
month -= 1;
if (month < 0) {
month = 11;
year -= 1;
}
let daysInMonth = new Date(year, month + 1, 0).getDate();
day = daysInMonth;
}
return new Date(year, month, day);
}
// 使用示例
let today = new Date();
let yesterday = getPreviousDay(today);
console.log(yesterday);
Date.UTC()
方法function getPreviousDayUTC(date) {
let year = date.getUTCFullYear();
let month = date.getUTCMonth();
let day = date.getUTCDate();
// 减去一天
day -= 1;
// 处理月份和年份的变化
if (day < 1) {
month -= 1;
if (month < 0) {
month = 11;
year -= 1;
}
let daysInMonth = new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
day = daysInMonth;
}
return new Date(Date.UTC(year, month, day));
}
// 使用示例
let today = new Date();
let yesterday = getPreviousDayUTC(today);
console.log(yesterday);
setDate()
方法:这是最简单的方法,直接使用Date
对象的setDate()
方法减去一天。JavaScript会自动处理月份和年份的变化。Date.UTC()
方法:这种方法使用UTC时间来计算前一天的日期,适用于需要处理跨时区日期的场景。Date.UTC()
方法来避免时区问题。通过以上方法,你可以在JavaScript中轻松获取日期的前一天。
领取专属 10元无门槛券
手把手带您无忧上云