繁体   English   中英

javascript从datepicker获取日期而不是添加日期

[英]javascript get date from datepicker than add days

我知道如何增加日期的问题已经问了很多。 尝试了这些答案,但这是行不通的。 我有一个日期选择器,我以dmY格式获取日期,并且有几天可以添加从DB获取的php变量。 我想在另一个输入中显示添加的日期。 获取var并显示在第二个输入中没问题。

 var days = '2'; // <?php echo $days ?>; days = parseInt(days); function autoDatum() { var date_input = document.getElementById("date_input").value; var date = Date(date_input); var newdate = new Date(date); newdate.setDate(newdate.getDate() + days); var dd = newdate.getDate(); var mm = newdate.getMonth() + 1; var y = newdate.getFullYear(); var someFormattedDate = dd + '.' + mm + '.' + y; document.getElementById('date_valute_input').value = someFormattedDate; } 
 body { display: flex; flex-direction: column; justify-content: space-between; } div { display: flex; justify-content: space-between; width: 300px; margin: 10px; } 
 <div> <label for="date_input">date_input</label> <input id="date_input" type="text" value="16.03.2017"> </div> <div> <label for="date_valute_input">date_valute_input</label> <input id="date_valute_input" type="text" value=""> </div> 

我只得到今天的日期+天,而不是选定的日期。 我使用了很多不同的代码,但是只有这一个不会冻结。 有人可以知道如何正确解析日期吗? 与javascript相比,在php和mysql中使用日期比较容易。

正如@KarelG在评论中所说,我必须解析从输入中获取日期的日期,现在它可以工作了。

var days = <?php echo $days ?>;
days = parseInt(days);


function autoDatum() {
var date_input = document.getElementById("date_input").value;

var date = date_input.split(".");


var newdate = new Date(date [2], date [1]-1, date [0]);

newdate.setDate(newdate.getDate() + days);

var dd = newdate.getDate();
var mm = newdate.getMonth() + 1;
var y = newdate.getFullYear();

var someFormattedDate = dd + '.' + mm + '.' + y;

document.getElementById( 'date_valute_input' ).value = someFormattedDate;

使用时刻库​​: n天数

var newDate = moment(date_input).add(n, 'days');

您的功能似乎正在运行。 那不是您所期望的吗?

 var days = '2'; // <?php echo $days ?>; days = parseInt(days); function autoDatum() { var date_input = document.getElementById("date_input").value.split('.'); var date = new Date(date_input[2], date_input[1], date_input[0]); var newdate = new Date(date.getFullYear(), date.getMonth(), date.getDate() + days); var dd = newdate.getDate(); var mm = newdate.getMonth(); var y = newdate.getFullYear(); var someFormattedDate = dd + '.' + mm + '.' + y; document.getElementById('date_valute_input').value = someFormattedDate; } autoDatum(); 
 body { display: flex; flex-direction: column; justify-content: space-between; } div { display: flex; justify-content: space-between; width: 300px; margin: 10px; } 
 <div> <label for="date_input">date_input</label> <input id="date_input" type="text" value="03.06.2015"> </div> <div> <label for="date_valute_input">date_valute_input</label> <input id="date_valute_input" type="text" value=""> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM