我需要一个函数来将年的十进制值转换为年、月和日。例如: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(使用前将#替换为@)