为了账号安全,请及时绑定邮箱和手机立即绑定

需要使用 javascript 来告诉我从当前日期到输入日期经过的天数、月数和年数

需要使用 javascript 来告诉我从当前日期到输入日期经过的天数、月数和年数

慕的地8271018 2021-11-12 16:28:38
我有它,所以它会显示一个包含年、月和日的日期。但是当我输入我的生日时,它显示为 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'    }
查看完整描述

1 回答

?
Helenr

TA贡献1780条经验 获得超4个赞

计算年差后,您需要修改所选日期的对象以具有相同的年份。这样,您可以计算月数/天数。


<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>


查看完整回答
反对 回复 2021-11-12
  • 1 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信