使用javascript的数字时间到可读的持续时间
问题描述:
我使用clockpicker收集用户输入,它会给我一个字符串中的数字时间戳。使用javascript的数字时间到可读的持续时间
例如:
02:15
我想保留,由于是在数据库中,但在我看来,打印它,用这个例子:
2h 15m
不必要零的删除,间隔和“小时”加“h”,“分钟”加“m”。此外,如果没有指定小时数,我宁愿只获取分钟数,反之亦然,如果没有指定分钟数。
我似乎找到的所有示例都是关于使用JavaScript中的“Date”函数转换完整的时间戳。我似乎无法使用这个值,而且我对正则表达式感到非常恐惧。
我想找到一个优雅的方式,也许是一条线的正则表达式来替换它之前呈现我的看法。我不想使用任何额外的库。
任何帮助表示赞赏!
答
无论如何,我似乎已经管理。 它不像我想要的那么漂亮,但它起作用,它在技术上是一条一行正则表达式。
t = "00:05";
t2 = "01:00";
t3 = "12:10";
t4 = "02:02";
const replaceTime = (myString) => {
myString = myString.replace(/0?([1-9]{0,}[0-9]):0?([1-9]{0,}[0-9])/g, '$1h $2m').replace(/\s0m/g, '').replace(/0h\s/g, '');
return myString;
}
console.log(replaceTime(t));
console.log(replaceTime(t2));
console.log(replaceTime(t3));
console.log(replaceTime(t4));
回报:
5m
1h
12h 10m
2h 2m