Javascript:从日期中减去天/小时/分钟

在很多情况下,您需要从给定的日期对象中减去天数/小时/分钟/秒数。以下示例将演示如何在 Javascript 中执行此操作。

在第一个示例中,我们只是从日期中减去天数。它既易于理解,又在实践中很常见。这是代码:

const subtractDays = (date, days) => {
     const result = new Date(date);
     result.setDate(result.getDate() - days);
     return result;
}

console.log(subtractDays(new Date('2022-12-30 19:40:39'), 10));

输出:

Tue Dec 20 2022 19:40:39 GMT+0000 (Greenwich Mean Time)

第二个示例更完整,因为它允许您列出要减去的天数、小时数、分钟数和秒数。这是代码:

const subtractTime = (date, days, hours, minutes, seconds) => {
     const result = new Date(date);
     result.setDate(result.getDate() - days);
     result.setHours(result.getHours() - hours);
     result.setMinutes(result.getMinutes() - minutes);
     result.setSeconds(result.getSeconds() - seconds);
     return result;
}

console.log(subtractTime(new Date('2022-12-30 19:40:39'), 30, 5, 30, 10));

输出:

Wed Nov 30 2022 14:10:29 GMT+0000 (Greenwich Mean Time)

在这两个示例中,我们都声明了函数以增加可重用性。