我想将hhmm格式的时间字符串转换为hh:mm格式,例如
" 230"会成为" 2:30"
" 400"会成为" 4:00"
我做了以下
var timeString = "200";
var finalString = ""
+ (((parseInt(timeString))
- ((parseInt(timeString))%100))/100)
+ ":"
+ ((parseInt(timeString)%100)? (parseInt(timeString)%100) :"00");
它有效,但有更好的方法吗?
编辑:
1)如果" 400"应转换为" 04:00"?
答案 0 :(得分:2)
我建议你使用moment.js库。然后你可以使用例如:
之类的代码moment("1230","HHmm").format("HH:mm");
答案 1 :(得分:0)
所以只需子串并添加你的点,简单的方法是最好的:
var myTimeStr = '400',
hours = myTimeStr.substring(0, myTimeStr.length-2),
mins = myTimeStr.substring(myTimeStr.length-2),
res = hours + ':' + mins;
答案 2 :(得分:0)
你可以在没有任何外部库的情况下缩短你的javascript代码,只需“vanilla-JS”
var myTimeStr = '400';
var dt = myTimeStr.match(/(\d{1,2})(\d{2})/);
console.log([dt[1], dt[2]].join(':')); // 4:00
答案 3 :(得分:0)
使用String slice()可以这样做:
var str = "1230";
var len = str.length;
var res = str.slice(0,len-2) + ":" + str.slice(len-2);
答案 4 :(得分:0)
你可以试试这个
var finalString = [timeString.slice(0, timeString.length - 2), ':', timeString.slice(timeString.length - 2)].join('');