我已经自动执行了以html格式填写发票日期栏中今天日期的功能,然后自动填写截止日期前一个月的发票日期,今天的日期工作正常但是截止日期正确显示日期提前1个月至假日期后的第10个月。第11个月显示明年第1个月,第12个月显示同年第13个月。 使用javascript的HTML表单代码:
<div style="width:15%;float:left">
Invoice Date
<br>
<input style="width:98%;margin-left:1%;margin:right:1%" type="date" id="myDate" placeholder="Today's Date">
<script type="text/javascript">
function SetDate() {
var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;
var today = day + "-" + month + "-" + year;
document.getElementById('myDate').value = today;
if (month < 13) {
month = parseInt(month) + 1;
}
if (month == 12) {
month = 13 - month;
year = year + 1
}
if (month < 10) {
month = "0" + month;
}
if (day < 10) day = "0" + day;
var due = day + "-" + month + "-" + year;
document.getElementById('duedate').value = due;
}
</script>
</div>
<div style="width:15%;float:left">
Due Date
<br>
<input style="width:98%;margin-left:1%;margin:right:1%" type="date" id="duedate" placeholder="Due date">
</div>
答案 0 :(得分:0)
JavaScript Date API已经知道如何按月,天或年的增量调整日期。如果将日期实例的一部分设置为&#34;溢出&#34;价值,你得到一个有意义的日期。因此,要在另一个日期之后显示一个月的日期,只需在月份值中添加一个 - 无需自己进行任何其他调整:
function SetDate() {
var date = new Date();
function fmtDate(date) {
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;
return day + "-" + month + "-" + year;
}
document.getElementById('myDate').value = fmtDate(date);
date.setMonth(date.getMonth() + 1);
document.getElementById('duedate').value = fmtDate(date);
}