javascript - Google API转换时长

时间:2015-12-24 12:25:45

标签: javascript api google-maps

目前我正在使用谷歌API来计算距离和持续时间,这可以很好地工作到一个字符串,但是我不想将这些数据存储为:

2 hours 10 mins

是否可以在几分钟内轻松转换此格式? (130)

我的逻辑是从字符串中提取数字,所以值等于210,然后对此进行一些数学计算:

var dur = screen.LabourAllocation.Duration;
var dura = dur.match(/\d/g);
dura = dura.join("");

其他人可以提出比这更好的方法吗?如果没有我可以做什么计算将210转换为分钟(130)?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

你必须获得所有数字部分,你的正则表达式只能逐个捕获数字,所以你需要/\d+/g,然后是简单的数学。

var dur = "2 hours 10 mins";
var dura = dur.match(/\d+/g); // take all "grouped" number
// dura ["2", "10"]

dura = dura[0] * 60 + (+dura[1]); 
// first one is hours , second one need to be converted to number