通过从Javascript中的特定日期减去X天数来查找日期

aji*_*nmu 46 javascript date

我想通过从JavaScript中的特定日期减去X天数来查找日期.我的JavaScript函数接受2个参数.一个是日期值,另一个是需要减去的天数.

例如,我将我的参数日期传递给2009年7月27日,我将我的另一个参数传递给3.所以我想计算2009年7月27日前3天的日期.因此我们得到的结果日期是2009年7月24日.这可能在JavaScript中.谢谢你的帮助.

Dan*_*ton 80

只是:

yourDate.setDate(yourDate.getDate() - daysToSubtract);
Run Code Online (Sandbox Code Playgroud)

  • @all:这适用于所有情况.如果setDate获得负值,那么它会将日期设置为您希望的上个月.这比以毫秒为单位减去天数要容易得多. (13认同)
  • 除非当月的当天超过您减去的日期,否则我认为这不会起作用. (3认同)
  • ...例如,它今天的工作与-3因为今天是27(在美国,但如果今天是第二个,你最终与新的日期存在-1,如果你尝试设置的setDate会死每月的某天为负数. (2认同)

neo*_*eye 22

function date_by_subtracting_days(date, days) {
    return new Date(
        date.getFullYear(), 
        date.getMonth(), 
        date.getDate() - days,
        date.getHours(),
        date.getMinutes(),
        date.getSeconds(),
        date.getMilliseconds()
    );
}
Run Code Online (Sandbox Code Playgroud)


小智 8

千万不要对这个解决方案yourDate.setDate(yourDate.getDate() - daysToSubtract);

如果您的日期是任何月份的第一天,并且您想要删除某些日子,请不要使用它.

而是寻求下面的解决方案,它将始终有效

var newDate = new Date(yourDate.getTime() - (days*24*60*60*1000));