添加日期不正确的结果

时间:2018-07-28 19:35:14

标签: javascript date

r = new Date('Thu Aug 09 2018 22:25:07 GMT+0300');
k = new Date();
k.setDate(r.getDate() + 12);
$('#date_dep').val(k);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="date_dep" />

工作正常,但

var r = new Date('Thu Aug 09 2018 22:25:07 GMT+0300');
var k = new Date();
k.setDate(r.getDate() +12);
document.querySelector('#date_dep').value = k;
<input id="date_dep" readonly size="40">

返回错误的日期。 ``2018年8月9日星期四22:25:07 GMT + 0300''是我获取日期的唯一方式

http://jsfiddle.net/aq9Laaew/120476/

3 个答案:

答案 0 :(得分:2)

问题是您要为添加日期而不是添加日期创建新日期。

r= new Date('Thu Aug 09 2018 22:25:07 GMT+0300');
k=r;//sets k (the date to be changed) to the date you created above
k.setDate(r.getDate() +12);
$('#date_dep').val(k);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="date_dep" />

答案 1 :(得分:0)

我使用moment.js修复了您的代码

DELETE

http://jsfiddle.net/aq9Laaew/120508/

答案 2 :(得分:0)

您只需使用一个变量即可实现此目的。引入k会引起混乱并导致实际的问题。

r = new Date('Thu Aug 09 2018 22:25:07 GMT+0300');
r.setDate(r.getDate() +12);
$('#date_dep').val(r);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="date_dep" />