在javascript中选择当前日期后7天的日期

在javascript中选择当前日期后7天的日期,javascript,html,Javascript,Html,我在html中有如下输入: <input class="form-control" placeholder="Date of Collection *" id="m_date" name="m_date" type="date" tabindex="6" required/> 它正确地给出了日期。我如何使用它来比较日期是否在7之后,并相应地提示 谢谢 更新: &l

我在html中有如下输入:

<input class="form-control" placeholder="Date of Collection *" id="m_date" name="m_date" type="date" tabindex="6" required/>
它正确地给出了日期。我如何使用它来比较日期是否在7之后,并相应地提示

谢谢

更新:

<html>

<body>

<input class="form-control" placeholder="Date of Collection *" id="m_date" name="m_date" type="date" tabindex="6" required/>

</body>

</html>

<script>

let cal = document.body.getElementsByClassName('form-control')[0];
cal.onchange = function(e) 
{
    var selectDate = e.target.value
    var startDate = new Date(Date.parse(selectDate));
    console.log(startDate);
    
    var dateAfter7Days = new Date(new Date().getTime()+(7*24*60*60*1000))
    
    console.log("7 days " + dateAfter7Days);

    if (startDate => dateAfter7Days )
    {
        console.log("Allow");
    }
    else
    {
        console.log("Don't allow");
    }
}

</script>

让cal=document.body.GetElementsByCassName('form-control')[0];
cal.onchange=函数(e)
{
var selectDate=e.target.value
var startDate=新日期(Date.parse(selectDate));
控制台日志(起始日期);
var dateAfter7Days=新日期(新日期().getTime()+(7*24*60*60*1000))
console.log(“7天”+7天之后的日期);
如果(开始日期=>DateAfter7天)
{
控制台日志(“允许”);
}
其他的
{
console.log(“不允许”);
}
}
对于我选择的任何日期,我都会得到“允许”。

var date=new date();
var next_seven_date=d.getDate()+7;
var current_month=d.getMonth();
当前月份++//月份从0开始,然后我们需要+1
var当前年=d.getFullYear();
var weekDate=(下一个七天+当前月份+当前年份);
date.setDate(工作日);
var date=新日期();
var next_seven_date=d.getDate()+7;
var current_month=d.getMonth();
当前月份++//月份从0开始,然后我们需要+1
var当前年=d.getFullYear();
var weekDate=(下一个七天+当前月份+当前年份);
date.setDate(工作日);

重点是比较两个日期值。如果当前日期-所选日期>7,则应打印提示。问题是如何获取所选日期

您可以通过事件值从输入标记中获取所选日期。更改日期时,将记录该值

let-cal=document.body.GetElementsByCassName('form-control')[0];
cal.onchange=函数(e){
console.log(如target.value);
}

重点是比较两个日期值。如果当前日期-所选日期>7,则应打印提示。问题是如何获取所选日期

您可以通过事件值从输入标记中获取所选日期。更改日期时,将记录该值

let-cal=document.body.GetElementsByCassName('form-control')[0];
cal.onchange=函数(e){
console.log(如target.value);
}

由于您的问题是比较日期,而不是创建日期,因此我已更新了我的答案,这可能会让您失望

var currentDate= new Date();
currentDate= new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate(),0,0,0)

var idealDifference= (7*24*60*60*1000);

//In your case this date might comes from some date selection user control. Be aware to make the time part of each date to same
var userSelectedDate = new Date(2021, 04, 04,currentDate.getHours(),0,0,0) 

if((userSelectedDate.getTime()-currentDate.getTime())>=idealDifference)
{
    console.log(userSelectedDate, ' is after 7 days from ',currentDate)
}
else
{
    console.log(userSelectedDate, ' is before 7 days from ',currentDate)
}

注意:在比较之前取消设置这两个日期的时间部分很重要,因为您的问题是比较日期,而不是创建日期。我已更新了我的答案,这可能会对您有所帮助

var currentDate= new Date();
currentDate= new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate(),0,0,0)

var idealDifference= (7*24*60*60*1000);

//In your case this date might comes from some date selection user control. Be aware to make the time part of each date to same
var userSelectedDate = new Date(2021, 04, 04,currentDate.getHours(),0,0,0) 

if((userSelectedDate.getTime()-currentDate.getTime())>=idealDifference)
{
    console.log(userSelectedDate, ' is after 7 days from ',currentDate)
}
else
{
    console.log(userSelectedDate, ' is before 7 days from ',currentDate)
}


注意:在比较之前,必须先取消设置两个日期的时间部分,以使此逻辑正常工作

这是否回答了您的问题?如果您按照示例中的方法进行操作,则只需比较所选日期,并确保其不大于此
date
对象。我不知道如何按给定日期比较日期,并立即提示错误的日期。因此,如果选择了不在覆盖范围内的日期,您希望选择“错误的日期”?您可以比较日期的时间,类似这样的
date.getTime()回答了您的问题吗?如果您按照示例中的方法进行操作,则只需比较所选日期,并确保其不大于此
date
对象。我不知道如何按给定日期比较日期,并立即提示错误的日期。因此,如果选择了不在覆盖范围内的日期,您希望选择“错误的日期”?您可以比较日期的时间,类似于这样的
date.getTime(),我尝试了以下操作,但没有成功让cal=document.body.getElementsByClassName('form-control')[0];cal.onchange=function(e){console.log(e.target.value);var selectDate=e.target.value var date=new date();date.setDate(date.getDate()+7);console.log(date);if(selectDate=>date){console.log(“允许”);}否则{console.log(“不允许”);}请检查我的更新,你能帮帮我吗?@SanjanaNair看来我的解释不好!在if条件下,条件应为当前日期的值-所选日期的值>=7天的值。@SanjanaAir日期的值应设置为毫秒数。我尝试了以下操作,但没有成功:让cal=document.body.getElementsByClassName('form-control')[0];cal.onchange=function(e){console.log(e.target.value);var selectDate=e.target.value var date=new date();date.setDate(date.getDate()+7);console.log(date);if(selectDate=>date){console.log(“允许”);}否则{console.log(“不允许”);}请检查我的更新,你能帮帮我吗?@SanjanaNair看来我的解释不好!在if条件下,条件应为当前日期的值-所选日期的值>=7天的值。@SanjanaAir日期的值应设置为毫秒数。请检查我的更新,你能帮我吗?请查看更新的答案。因为我用纪元时间来比较,它不会精确到秒级。但对于大多数情况,这可能就足够了。请检查我的更新,你能帮我吗?查看更新的答案。因为我用纪元时间来比较,它不会精确到秒级。但在大多数情况下,这可能就足够了