我一直在开发一个程序,并且该程序的一部分必须能够将年,月,日等转换为几年。我已经开发了几种解决方案,而且我似乎遇到了做到这一点的方法,但是它只能在数月和数月内起作用,并且从几天以后就不起作用了。
我试图找到问题所在,但是我根本不知道问题可能在哪里。该代码与年份和月份完全相同,只是天数和时间单位较小。这是代码:
time = time.toString();
if (time.includes(".")) {
time = time.split(".");
var yrs = time[0] + " yrs, ";
time = time[1] * 12;
} else {
time = time[0] + " yrs.";
}
if (time.includes(".")) {
time = time.split(".");
var mos = time[0] + " mos, ";
time = time[1] * 30;
} else {
time = yrs + time[0] + " mos.";
}
if (time.includes(".")) {
time = time.split(".");
var dys = time[0] + " dys, ";
time = time[1] * 24;
} else {
time = yrs + mos + time[0] + " dys.";
}
if (time.includes(".")) {
time = time.split(".");
var hrs = time[0] + " hrs, ";
time = time[1] * 60;
} else {
time = yrs + mos + dys + time[0] + " hrs.";
}
if (time.includes(".")) {
time = time.split(".");
var mins = time[0] + " mins, ";
time = time[1] * 60;
} else {
time = yrs + mos + dys + hrs + time[0] + " mins.";
}
if (time.includes(".")) {
time = time.split(".");
var secs = time[0] + " secs.";
time = yrs + mos + dys + hrs + mins + secs;
}
例如,我希望它以2.24年的时间输出:“ 2年,2个月,26天,9小时,26分钟”。相反,在取出无效的代码后,它将输出'undefined0 yrs mos, '
。
提前感谢您的帮助!
编辑:这不使用日期。我只是想将带有小数的年份单位转换为年,月,日等。因此,请不要推荐使用日期的诸如moment.js之类的东西。