使用 javascript 的数字时间到可读持续时间
Digital time to readable duration using javascript
我正在使用 clockpicker 收集用户输入,这将给我一个字符串中的数字时间戳。
例如:
02:15
我想将其保留在数据库中,但在我看来将其打印为,使用此示例:
2h 15m
不必要的零被删除,间隔开,并为 "hours" 添加了 "h",为 "minutes" 添加了 "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, 'h m').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));
returns:
5m
1h
12h 10m
2h 2m
我正在使用 clockpicker 收集用户输入,这将给我一个字符串中的数字时间戳。
例如:
02:15
我想将其保留在数据库中,但在我看来将其打印为,使用此示例:
2h 15m
不必要的零被删除,间隔开,并为 "hours" 添加了 "h",为 "minutes" 添加了 "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, 'h m').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));
returns:
5m
1h
12h 10m
2h 2m