根据天数计算年、日期计算

根据具体天数计算共多少年多少月多少天

效果如图:

  <input type="text" id="inputDays" placeholder="输入天数">
  <button id="calculateButton">计算</button>
  <div id="result"></div>

$(document).ready(function() {
  $("#calculateButton").click(function() {
    var inputDays = parseInt($("#inputDays").val());
    var result = calculateYearsMonthsDays(inputDays);
    $("#result").text("共 " + result.years + " 年 " + result.months + " 个月 " + result.days + " 天");
  });
});

function isLeapYear(year) {
  return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
}

function calculateYearsMonthsDays(days) {
  var year = 0;
  var month = 0;
  var day = 0;

  while (days > 0) {
    if (isLeapYear(year) && days >= 366) {
      days -= 366;
      year++;
    } else if (!isLeapYear(year) && days >= 365) {
      days -= 365;
      year++;
    } else {
      var daysInMonth = [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
      month = 0;
      while (daysInMonth[month] <= days) {
        days -= daysInMonth[month];
        month++;
      }
      day = days;
      break;
    }
  }

  return {
    years: year,
    months: month,
    days: day
  };
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值