Javascript 函数将十进制年份值转换为年、月和日

2023-12-04

我需要一个函数来将年的十进制值转换为年、月和日。例如:1.5 年 = 1 年 6 个月。 2.2527397260273973 年 = 2 年 3 个月 1 天。

我从这个函数开始:

function yearsToYearsMonthsDays(value){
var years = Math.floor(value);
var months =  Math.floor( (value - years) /(1/12) );
var days = Math.floor ( ( (value - years) /(1/12) - Math.floor((value - years) /(1/12)) ) / (1/365) );
var result = years + " years, " + months + " months, " + days + " days";
    Logger.log(result);
}

但有时它不起作用(例如:0.75 不能产生 9 个月)。

有什么帮助吗?


我认为最好的方法是将所有更改为天,例如:

function yearsToYearsMonthsDays(value)
{
    var totalDays = value * 365;
    var years = Math.floor(totalDays/365);
    var months = Math.floor((totalDays-(years *365))/30);
    var days = Math.floor(totalDays - (years*365) - (months * 30));
    var result = years + " years, " + months + " months, " + days + " days";
    Logger.log(result);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 函数将十进制年份值转换为年、月和日 的相关文章

随机推荐