我想将天转换为 ,包括闰年,但不使用new Date()
。我想简单地计算365天。
所以登录我尝试过:
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.
答案 0 :(得分:1)
您可以尝试这样的事情:
parseInt(days/ 365)
parseInt((days/4)/365)
leaps/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 年
您可以使用这个常数计算确切的年数