我正在尝试获取日期并对其进行修改 这是代码
<script type="text/javascript">
$(function() {
$("#terms_of_payment").change(function(){
var element = $(this).find('option:selected');
var days = element.attr("value");
var start = $('input[name="date"]').val();
var date = new Date(start);
var day = date.getDate() + days;
var month = date.getMonth();
var year = date.getFullYear();
var edate = day + "-" + month + "-" + year;
alert(start);
alert(edate);
$('#due_date').val(edate);
});
});
</script>
它给出了正确的开始日期,但是当试图添加它时,它只是给了我错误的月和日,,,,, plz help
这是html
<div class="form-item">
<label>
<span class="required">*</span>
date
</label>
<input type="text" readonly="readonly" value="" id="date" name="date" class="hasDatepicker">
</div>
<div class="form-item">
<label>
due date
</label>
<input type="text" disabled="disabled" value="" id="due_date" name="due_date"> </div>
<div class="form-item">
<label>
<span class="required">*</span>
terms-of-oayment
</label>
<select class="" id="terms_of_payment" name="terms_of_payment">
<option selected="selected" label="---------" value="">---------
</option>
<option label="مستحقة الدفع لدى تسلمها" value="1">مستحقة الدفع لدى تسلمها</option>
<option label="مستحقة الدفع في غضون 15 يوما" value="15">مستحقة الدفع في غضون 15 يوما</option>
<option label="مستحقة الدفع في غضون 30 يوما" value="30">مستحقة الدفع في غضون 30 يوما</option>
<option label="مستحقة الدفع في غضون 45 يوما" value="45">مستحقة الدفع في غضون 45 يوما</option>
<option label="مستحقة الدفع في غضون 60 يوما" value="60">مستحقة الدفع في غضون 60 يوما</option>
<option label="مستحقة الدفع في غضون 90 يوما" value="90">مستحقة الدفع في غضون 90 يوما</option>
</select>
</div>
答案 0 :(得分:3)
尝试生成新日期,如下所示:
var edate = new Date(date.getTime() + days *24*60*60*1000);
答案 1 :(得分:3)
这里有两个问题:
.getMonth()
返回0到11,而不是1到12.请参阅http://www.w3schools.com/jsref/jsref_getmonth.asp
例如,假设日期是2012年1月31日,并且您要添加一天。你的收益率是1/32/2012。
从理论上讲,你可以获得更多成功,比如朱利安约会,然后添加日子。或者将http://www.datejs.com/视为一个很棒的库,用于在JavaScript中进行日期数学,格式化和解析。