HTML-如何使用javascript在输入日期中增加天数?

时间:2018-09-13 03:47:07

标签: javascript html

我试图在选择日期时向用户发出警报。例如,当用户选择2018-09-13时,警报将显示消息“ 7天后将是2018-09-20”。但是,警报消息显示为2018-09-137。

<input type="date" name = "date" id = "date" onchange="javascript:var chooseDate=(this.value)+7; alert('7 days later will be '+chooseDate);" >

我应该如何在日期中增加天数?请帮助,谢谢。

3 个答案:

答案 0 :(得分:1)

this.value将使用格式stringYYYY-MM-DD的形式返回日期,因此,如果您“添加” 7,它将是YYYY-MM-DD7。您可以做的是创建一个新的Date对象,然后添加所需的日期,如下所示:

var chooseDate=new Date(this.value);
chooseDate.setDate(chooseDate.getDate()+7);
alert('7 days later will be '+chooseDate);

但是,这将为您提供完整的日期,这可能是您不想要的,因此您必须获取实际需要的值,例如:

var chooseDate=new Date(this.value);
chooseDate.setDate(chooseDate.getUTCDate()+7);
var futureDate = chooseDate.getFullYear()+'-'+('0'+(chooseDate.getMonth()+1)).slice(-2)+'-'+('0'+(chooseDate.getDate())).slice(-2);
alert('7 days later will be '+chooseDate);

这里有一个有效的示例:

<input type="date" name = "date" id = "date" onchange="var chooseDate=new Date(this.value);chooseDate.setDate(chooseDate.getUTCDate()+7);var futureDate=chooseDate.getFullYear()+'-'+('0'+(chooseDate.getMonth()+1)).slice(-2)+'-'+('0'+(chooseDate.getDate())).slice(-2);alert('7 days later will be '+futureDate);" >

答案 1 :(得分:0)

如何:

addDays = function(input_date, days) {
    var date = new Date(input_date);
    date.setDate(date.getDate() + days);
    return date;
}

然后在onchange()中调用do addDays(this.value,7)。

而且,请参考getDate()setDate()

答案 2 :(得分:0)

尝试这个...

library(lpSolve)

# test data
set.seed(123)
n <- 4
m <- matrix(sample(0:1, n*n, replace = TRUE), n)
cs <- colSums(m)
rs <- rowSums(m)

# solve using linear programming
obj <- numeric(n*n)
const.mat <- rbind(t(rep(1, n) %x% diag(n)), t(diag(n) %x% rep(1, n)))
const.rhs <- c(rs, cs)
res <- lp("min", obj, const.mat, "=", const.rhs, all.bin = TRUE)
soln <- matrix(res$solution, n)

# check that row and column totals of soln are correct
all.equal(c(rowSums(soln), colSums(soln)), c(rs, cs))
## [1] TRUE