逐年包括闰年
Day to year including leap years
我想将 天转换为年 ,包括闰年,但不使用 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.
您可以尝试这样的操作:
逻辑:
- 获取总年数:
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));
如果你这样想,逻辑可能会简单很多:
地球自转需要 365.2425 天,小数部分加起来大约每 4 个周期一天,这就是为什么我们在闰年增加额外的一天。
因此:
1天=1/365.2425年
你可以使用这个常量计算出准确的年数
我想将 天转换为年 ,包括闰年,但不使用 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.
您可以尝试这样的操作:
逻辑:
- 获取总年数:
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));
如果你这样想,逻辑可能会简单很多: 地球自转需要 365.2425 天,小数部分加起来大约每 4 个周期一天,这就是为什么我们在闰年增加额外的一天。
因此: 1天=1/365.2425年
你可以使用这个常量计算出准确的年数