从Google Maps API返回的jQuery格式时间

jQuery format time returned from Google Maps API

本文关键字:jQuery 格式 时间 返回 Google Maps API      更新时间:2023-09-26

我正在试图找出如何将Google Maps API在"持续时间"中给出的时间格式化为我可以实际使用的时间。

当我返回持续时间时,我会得到这样的信息:

1 day 13 hours
2 days 22 hours
1 hour 12 mins
3 hours 18 mins
1 hour
6 mins

关于持续时间的格式,我唯一能说的是,它从不显示超过2组数字。据我所见,它没有显示日期、小时和分钟,但这就是我正在恢复的格式。

我希望能够把这些数字转换成秒,然后从那里开始计算(四舍五入小时、分钟等)

我如何将它们格式化为总秒数?

编辑我正在使用谷歌地图DirectionRequest服务

基于此链接,API似乎返回了一个"值"和一个文本量:

}, {
  "status": "OK",
  "duration": {
    "value": 24487,
    "text": "6 heures 48 minutes"
  },
  "distance": {
    "value": 129324,
    "text": "129 km"
  }

持续时间的值似乎是秒,这可能比文本值更容易使用。

David784以最佳方式回答了我的问题。

对于任何对这种格式仍然有问题的人,我已经写了这个

我没有进行扩展测试

function humanTimeToSeconds(time){
    var time_seconds = 0;
    time = time.split(" ");
    for(var i = 0; i < time.length; i++){
        if(i%2 == 0){
            var time_amount = time[i];
            var time_type = time[i+1];
            if(time_type == "days" || time_type == "day"){
                time_seconds = time_seconds + (time_amount * 24 * 60 * 60); 
            } else if(time_type == "hours" || time_type == "hour"){
                time_seconds = time_seconds + (time_amount * 60 * 60);  
            } else if(time_type == "mins" || time_type == "min"){
                time_seconds = time_seconds + (time_amount * 60);   
            }
        }
    }
    return time_seconds;
}