gpt4 book ai didi

javascript - 用户输入 - Javascript 中两个日期的差异

转载 作者:行者123 更新时间:2023-11-30 15:04:51 25 4
gpt4 key购买 nike

我是 JS 初学者。我有日期的用户输入值。我想在几天内有所不同。尝试了几种方法,都没有用。将输入类型用作数字,但它不适用于 03092017 - 29082017 这样的示例,它输出数字差异而不是日期。

function resetForm() {
location.reload();
}

function dates() {
var n_Date = document.getElementById('ddate').value;
var e_Date = document.getElementById('cdate').value;
var nDate = new Date(n_Date);
var eDate = new Date(e_Date);
var nMonth = n_Date.getMonth();
var eMonth = eDate.getMonth();
var nYear = nDate.getFullYear();
var eYear = eDate.getFullYear();
var Years = Math.abs(nYear - eYear);
var Months = Math.abs(nMonth - eMonth);
var Dates = Math.abs(nDate - eDate);
var fDate = Dates + Months + Years;

if (fDate <= 7) {
alert("You have: " + fDate + " days to return the book");
} else if (eDate > 7) {
var g = (fDate * 50);
alert("Overdue by: " + fDate + " days fee is: " + g);
}

}
<form id="myform">
<table>
<tr>
<td>Book Returning Due Date:</td>
<td><input type="date" id="ddate" placeholder="dd/mm/yyyy"></td>
</tr>
<tr>
<td>Current Date:</td>
<td><input type="date" id="cdate" placeholder="dd/mm/yyyy"></td>
</tr>
<tr>
<td><input type="button" onclick="dates();" value="Check for Due"> </td>
<td><input type="button" id="reset" onclick="resetForm()" value="Reset"></td>
</tr>

</table>
</form>

最佳答案

尝试使用moment.js为此。

var startDate = moment("13.04.2016", "DD.MM.YYYY");
var endDate = moment("28.05.2016", "DD.MM.YYYY");
var result = 'Diff: ' + endDate.diff(startDate, 'days');

console.log(result);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://momentjs.com/downloads/moment.js"></script>

关于javascript - 用户输入 - Javascript 中两个日期的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45933477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com