需要使用 javascript 来告诉我从当前日期到输入日期过去的天数、月份和年份
Need to use javascript to tell me elasped days,month, and years from current date to date entered
我有它,所以它会显示包含年、月和日的日期。但是当我输入生日时它显示为 27 年 329 个月 10299 天。我需要它以 12 个月的格式显示月份,以 31 天的格式显示天数。
`
<p>
<h2>Pick A Date!(dd/mm/yyyy</h2>
<center><input id="date">
<button onclick="handleDateChanged()">Calculate</button></center>
</p>
<p>
<h2>It's been since: <span id="result"></span></h2>
</p>
function handleDateChanged() {
var data = document.getElementById("date").value;
var dateParts = data.split("/");
var pickedDate = new Date(+dateParts[2], dateParts[1] - 1, +dateParts[0]);
var currentDate = new Date();
console.log(pickedDate);
console.log(currentDate);
var diff = Math.floor(currentDate.getTime() - pickedDate.getTime());
var day = 1000 * 60 * 60 * 24;
var days = Math.floor(diff/day);
var months = Math.floor(days/31);
var years = Math.floor(months/12);
document.getElementById("result").innerHTML = years + ' years, ' + months + ' months, ' + days + ' days'
}
`
计算出年份差异后,需要将选取日期的对象修改为同一年份。这样,您就可以计算月/日。
<script>
function handleDateChanged() {
var data = document.getElementById("date").value;
var dateParts = data.split("/");
var pickedDate = new Date(+dateParts[2], dateParts[1] - 1, +dateParts[0]);
var currentDate = new Date();
var years = currentDate.getYear() - pickedDate.getYear();
pickedDate.setYear(pickedDate.getFullYear() + years);
console.log(pickedDate);
var diff = Math.floor(currentDate.getTime() - pickedDate.getTime());
var day = 1000 * 60 * 60 * 24;
var days = Math.floor(diff/day);
var months = Math.floor(days/31);
// var years = Math.floor(months/12);
document.getElementById("result").innerHTML = years + ' years, ' + months + ' months, ' + days + ' days'
}
</script>
我有它,所以它会显示包含年、月和日的日期。但是当我输入生日时它显示为 27 年 329 个月 10299 天。我需要它以 12 个月的格式显示月份,以 31 天的格式显示天数。
`
<p>
<h2>Pick A Date!(dd/mm/yyyy</h2>
<center><input id="date">
<button onclick="handleDateChanged()">Calculate</button></center>
</p>
<p>
<h2>It's been since: <span id="result"></span></h2>
</p>
function handleDateChanged() {
var data = document.getElementById("date").value;
var dateParts = data.split("/");
var pickedDate = new Date(+dateParts[2], dateParts[1] - 1, +dateParts[0]);
var currentDate = new Date();
console.log(pickedDate);
console.log(currentDate);
var diff = Math.floor(currentDate.getTime() - pickedDate.getTime());
var day = 1000 * 60 * 60 * 24;
var days = Math.floor(diff/day);
var months = Math.floor(days/31);
var years = Math.floor(months/12);
document.getElementById("result").innerHTML = years + ' years, ' + months + ' months, ' + days + ' days'
}
`
计算出年份差异后,需要将选取日期的对象修改为同一年份。这样,您就可以计算月/日。
<script>
function handleDateChanged() {
var data = document.getElementById("date").value;
var dateParts = data.split("/");
var pickedDate = new Date(+dateParts[2], dateParts[1] - 1, +dateParts[0]);
var currentDate = new Date();
var years = currentDate.getYear() - pickedDate.getYear();
pickedDate.setYear(pickedDate.getFullYear() + years);
console.log(pickedDate);
var diff = Math.floor(currentDate.getTime() - pickedDate.getTime());
var day = 1000 * 60 * 60 * 24;
var days = Math.floor(diff/day);
var months = Math.floor(days/31);
// var years = Math.floor(months/12);
document.getElementById("result").innerHTML = years + ' years, ' + months + ' months, ' + days + ' days'
}
</script>