每年包括闰年

时间:2017-03-16 11:23:34

标签: javascript jquery math calculator

我想将天转换为 ,包括闰年,但不使用new Date()。我想简单地计算365天。

所以登录我尝试过:

  • 一年365天。
  • 闰年366天。
  • 闰年每四年都有一次。
  • 4年内
  • 365*4 = 1460天但闰年+1则为4年内1461天。

var year = 1460/365; // 4 years
var leap = 1461/365; // 4 years including leap years.
console.log(year);  // result is 4 which is proper
console.log(leap);  // result is 4.002739726027397 but which should also be 4.

2 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

逻辑:

  • 获取总年数:parseInt(days/ 365)
  • 现在你必须处理闰年的数量,所以parseInt((days/4)/365)
  • 现在您必须在年份数中调整此值,因此减去leaps/365以获取其偏移量并从年份中减去。
  • 现在你必须处理剩余的日子。假设有4个闰年和10个剩余日,但计算基于365.因此,您的实际盈余为10-4,即surplusDays - leaps
  • 现在计算它的值并将它们添加到年份,你就有了价值。

function getYearsByDays(days) {
  var daysInYear = 365;
  var noOfLeaps = parseInt((days / 4) / daysInYear)
  var years = parseInt(days / daysInYear);
  var remainingDays = days % daysInYear;
  return (years - (noOfLeaps / daysInYear) + (remainingDays/ daysInYear))
}

console.log(getYearsByDays(365));
console.log(getYearsByDays(365 * 4 + 1));
console.log(getYearsByDays(10000));

答案 1 :(得分:0)

如果你这样想,逻辑可能会简单得多: 地球自转需要 365.2425 天,小数部分加起来大约每 4 个周期一天,这就是为什么我们在闰年添加额外的一天。

因此: 1 天 = 1/365.2425 年

您可以使用这个常数计算确切的年数