[英]JS Question regarding compare date using 2 functions
嗨,我是Javascript的新手,所以請求naff問題道歉。 這條代碼返回一個Nan,它應該檢索過去的天數。 導致問題的第二個功能是什么?
這里是:
<body>
<script>
function elapsedTime(date1, date2) {
var start = new Date(date1);
var startMilli = start.getTime();
var end = new Date(date2);
var endMilli = end.getTime();
var elapsed = (endMilli - startMilli);
alert(millisToDaysHoursMinutes(elapsed));
}
function millisToDaysHoursMinutes(millis) {
var seconds = millis / 1000;
var totalMinutes = seconds / 60;
var minutesPerDay = 60 * 24;
var days = totalMinutes / minutesPerDay;
return days;
}
</script>
<form>
Start:<input type="text" name="date1" value="dd/m/year" /><br>
End: <input type="text" name="date2" value="dd/m/year" />
<input type="button" name="button1" onclick="elapsedTime(date1.value, date2.value)" value="Get Elapsed Time" />
</form>
</body>
您需要確保輸入的日期有效,否則您會得到一個NaN
(不是數字)。 使用input type=date
並將其設置為required
然后可以在調用date diff函數之前輕松檢查它們是否有效。
例如:
function elapsedTime(date1, date2) { var start = new Date(date1); var startMilli = start.getTime(); var end = new Date(date2); var endMilli = end.getTime(); var elapsed = (endMilli - startMilli); alert(millisToDaysHoursMinutes(elapsed)); } function millisToDaysHoursMinutes(millis) { var seconds = millis / 1000; var totalMinutes = seconds / 60; var minutesPerDay = 60 * 24; var days = totalMinutes / minutesPerDay; return days; } var date1 = document.querySelector("input[name=date1]"), date2 = document.querySelector("input[name=date2]"), button1 = document.querySelector("input[name=button1]"); button1.addEventListener("click", function() { var date1valid = date1.checkValidity(); var date2valid = date2.checkValidity(); if (date1valid && date2valid) { elapsedTime(date1.value, date2.value); } else { alert("Please provide both dates!"); } });
<form> Start:<input type="date" name="date1" required="required" value="dd/m/year" /><br> End: <input type="date" name="date2" required="required" value="dd/m/year" /> <input type="button" name="button1" value="Get Elapsed Time" /> </form>
您應該使用輸入類型date
來使代碼工作:
<form> Start:<input type="date" name="date1" /><br> End: <input type="date" name="date2" /> <input type="button" name="button1" onclick="elapsedTime(date1.value, date2.value)" value="Get Elapsed Time" /> </form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.