javascript - 将年转换为年、月、日、小时、分钟、秒
问题描述
我一直在研究一个程序,程序的一部分需要能够将年转换为年、月、日等。我已经研究了几个解决方案,我似乎已经找到了一种方法它,但它只能在数年和数月内起作用,并且在以后的几天内它不起作用。
我试图找出问题所在,但我根本不知道问题可能出在哪里。该代码与年和月的代码完全相同,只是用天和更小的时间单位代替。这是代码:
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之类的东西。
解决方案
推荐阅读
- node.js - Mongoose:从模型中的对象数组中,将属性的值提取为数组
- android - 有没有更好的方法从反应原生打开vcf文件除了链接
- r - 从R中的分配对象返回一个字符串
- multithreading - 基于角色的锁定
- node.js - 如何使用 Node.js 创建 Google Action?
- tensorflow - 即使我们不使用 model.fit,我们什么时候应该继承 keras.Model 而不是 keras.layers.Layer?
- bootstrap-4 - Bootstrap 4 汉堡菜单,带有移动视图后退选项的子菜单
- mysql - 无法解决问题,因为 MySQL 不断重新启动
- premake - Premake中的传递库依赖?
- powerquery - 在 M - Text.Type 或类型文本中声明数据类型的更好语法?