javascript 日期 + 7 天

IT技术 javascript jquery date
2021-03-02 19:02:34

这个脚本有什么问题?

当我将时钟设置为 29/04/2011 时,它会在周输入中增加36/4/2011但正确的日期应该是6/5/2011

var d = new Date();
var curr_date = d.getDate();
var tomo_date = d.getDate()+1;
var seven_date = d.getDate()+7;
var curr_month = d.getMonth();
curr_month++;
var curr_year = d.getFullYear();
var tomorrowsDate =(tomo_date + "/" + curr_month + "/" + curr_year);
var weekDate =(seven_date + "/" + curr_month + "/" + curr_year);
{
jQuery("input[id*='tomorrow']").val(tomorrowsDate);
jQuery("input[id*='week']").val(weekDate);
    }
6个回答

var date = new Date();
date.setDate(date.getDate() + 7);

console.log(date);

是的,如果date.getDate() + 7大于该月的最后一天,这也有效有关更多信息,请参阅 MDN

@CodeMonkey 超过 1 个月的;)
2021-05-10 19:02:34
现代社会用什么时间超过31天?
2021-05-14 19:02:34

无需声明

返回时间戳

new Date().setDate(new Date().getDate() + 7)

返回日期

new Date(new Date().setDate(new Date().getDate() + 7))

像这样的东西?

var days = 7;
var date = new Date();
var res = date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
alert(res);

再次转换为日期:

date = new Date(res);
alert(date)

或者:

date = new Date(res);

// hours part from the timestamp
var hours = date.getHours();

// minutes part from the timestamp
var minutes = date.getMinutes();

// seconds part from the timestamp
var seconds = date.getSeconds();

// will display time in 10:30:23 format
var formattedTime = date + '-' + hours + ':' + minutes + ':' + seconds;
alert(formattedTime)
第二段中的分配是多余的,当您调用 setTime 时更新了“日期”
2021-04-29 19:02:34
这是 unix 时间戳 - 您可以将其转换为人类可读的值 - 猜猜这是最佳实践
2021-05-10 19:02:34

获取未来 x 天日期的简单方法是增加日期:

function addDays(dateObj, numDays) {
  return dateObj.setDate(dateObj.getDate() + numDays);
}

请注意,这会修改提供的日期对象,例如

function addDays(dateObj, numDays) {
   dateObj.setDate(dateObj.getDate() + numDays);
   return dateObj;
}

var now = new Date();
var tomorrow = addDays(new Date(), 1);
var nextWeek = addDays(new Date(), 7);

alert(
    'Today: ' + now +
    '\nTomorrow: ' + tomorrow +
    '\nNext week: ' + nextWeek
);
这很好,它似乎做我想做的但它返回这样的日期 2011 年 5 月 6 日星期五 11:07:01 GMT+0200 但我喜欢日期采用这种格式 dd/mm/year 像这样:06 /05/2011
2021-04-21 19:02:34

在一行中:

new Date(Date.now() + 7 * 24 * 60 * 60 * 1000)
让这家伙休息一下,这是一个完美而简单的单线,可以在没有凌乱的临时工的情况下完成工作。
2021-04-21 19:02:34
@nurdyguy 这种“批评或要求澄清”的方式是什么?虽然解释最少的代码示例可能不是一个很好的答案,但它一个答案。查看何时将答案标记为“不是答案”?
2021-05-02 19:02:34
谢谢!这正是我所需要的。为了我的目的稍微修改它,我需要一个纪元时间,所以我使用: Math.floor((Date.now() + 7 * 24 * 60 * 60 * 1000)/1000) -- 希望这对某人有用别的也是!
2021-05-06 19:02:34
他想知道为什么他的代码不起作用。暗地里他也想知道如何得到7天后的日期。我提供了答案。
2021-05-11 19:02:34
这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论。-来自评论
2021-05-16 19:02:34