Javascript:在任何日期添加天数

时间:2012-04-04 19:53:06

标签: javascript

我现在已经阅读了很多主题,并没有找到一个非常重要的主题。

这就是我要做的事情:
1)解析以mm / dd / yy格式提供的账单日期,并且通常不是今天的 2)在日期中添加可变天数。这些术语保存在下面的dueTime数组中。我把它限制在这里30天 3)根据账单日期+付款条件,计算账单到期日期,并以mm / dd / yy格式返回。

这是我尝试过的。我传递给新日期的信息是我所期望的,但新日期的输出绝不是我所期望的。

感谢您的帮助。

<html>
<head>
<script>
function calculateDueTime(){
    var billDate = document.getElementById('billDateId').value;
    var key = document.getElementById('termsId').value;
    var dueTime = new Array();
    dueTime[1] = 30;
    var billDate = billDate.split('/');
    var newDate = new Date( parseInt( billDate[2] ) + '/' + parseInt( billDate[0] ) + '/' + ( parseInt( billDate[1] ) + parseInt( dueTime[key] ) ) ); 
    document.getElementById('dueDateId').value = newDate.toString();
}
</script>
</head>
<body>

<input name="billDate" id="billDateId" value="5/1/11" /> 
Or any value in mm/dd/yy or m/d/yy format
<select name="terms" id="termsId" onchange="calculateDueTime()">
   <option value="1">Net 30</option>
</select>
<input name="dueDate" id="dueDateId" />

</body>
</html>

2 个答案:

答案 0 :(得分:5)

只需添加日期天数:

var dt= new Date();

dt.setDate(dt.getDate() + 31);

console.log(dt);

答案 1 :(得分:1)

我建议看看Datejs(http://www.datejs.com/)。我使用这个库来处理日期,我觉得这是一个真正的痛苦。