首页 > 解决方案 > 将年转换为年、月、日、小时、分钟、秒

问题描述

我一直在研究一个程序,程序的一部分需要能够将年转换为年、月、日等。我已经研究了几个解决方案,我似乎已经找到了一种方法它,但它只能在数年和数月内起作用,并且在以后的几天内它不起作用。

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

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 yrs, 2 mos, 26 days, 9 hrs, 26 mins.' 相反,在取出不起作用的代码后,它会输出'undefined0 yrs mos, '.

提前感谢您的帮助!

编辑:这不使用日期。我只是想将带小数的年单位转换为年月日等。所以请不要推荐使用日期的moment.js之类的东西。

标签: javascripttimedaysseconds

解决方案


推荐阅读