将年转换为年,月,日,小时,分钟,秒

时间:2019-07-16 18:10:55

标签: javascript time days seconds

我一直在开发一个程序,并且该程序的一部分必须能够将年,月,日等转换为几年。我已经开发了几种解决方案,而且我似乎遇到了做到这一点的方法,但是它只能在数月和数月内起作用,并且从几天以后就不起作用了。

我试图找到问题所在,但是我根本不知道问题可能在哪里。该代码与年份和月份完全相同,只是天数和时间单位较小。这是代码:

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之类的东西。

1 个答案:

答案 0 :(得分:-1)

使用诸如moment.js之类的库来处理js中的日期时间,比我们更聪明的团队合作者已经处理了所有奇怪的处理时间。

https://momentjs.com/