javascript - 将小时添加到时间字符串

标签 javascript

我有一个像这样的字符串3:35 PM - 5:25 PM。我正在尝试编写两个函数 getStartTime(times)getEndTime(times) ,它们以 24 小时时钟格式返回开始和结束时间,即在上述情况下,它会返回 15:3517:25。到目前为止,我有一个有效的 getStartTime(times):

function getStartTime(times){
  var spaceSplit=times.split(" ");
  var colonSplit=times.split(":");
  if(s.search("PM")!=-1&&colonSplit[0]<12){
      return String(Number(colonSplit[0])+12)+":"+colonSplit[1].substring(0,2);
  }
  return spaceSplit[0];
}

但是,它很丑陋,我不知道如何执行getEndTime(times)。有人知道执行这两个功能的优雅方法吗?请注意,该字符串将始终采用该格式(尽管小时数可以是两位数)。

最佳答案

function getStartTime(times)
   {
    var start_time = times.split("-")[0].trim();
    var res = start_time.split(" ");
    var hh = res[0].split(":")[0];
    var mm = res[0].split(":")[1];

    if( res[1]== "PM" && hh !="12")
    {
        hh = +hh + 12;
    }

    else if(hh==12 && res[1] == "AM")
    {
        hh = "00";
    }

    return(hh+":"+mm);
    }

function getEndTime(times)
{
    var end_time = times.split("-")[0].trim();
    var res = end_time.split(" ");
    var hh = res[0].split(":")[0];
    var mm = res[0].split(":")[1];

    if( res[1]== "PM" && hh !="12")
    {
        hh = +hh + 12;
    }

    else if(hh==12 && res[1] == "AM")
    {
        hh = "00";
    }


    return(hh+":"+mm);
}

关于javascript - 将小时添加到时间字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30291864/

相关文章:

javascript - 如何在 javaScript 中获取 div 名称?

javascript - 使用 Javascript 和 jQuery 自动填充选择框

javascript - ReactJS - 有一个不拥有它的 child 的 "main"组件?

javascript - 按下按钮时播放声音

javascript - 无法使用 Rangy 库取消突出显示 2 个不同段落中的选择

javascript - 通过ajax插入数据时如何阻止jquery删除子元素

javascript - Bootstrap 工具提示与实际示例工具提示按钮的用法?

javascript - 如何减少 Magnolia JavaScript 模型中的列表?

javascript - ASP.NET 代码隐藏文件在哪里执行? (客户端或服务器)

javascript - 单击 Angular JS 中的输入字段事件