我有一个像这样的字符串3:35 PM - 5:25 PM
。我正在尝试编写两个函数 getStartTime(times)
和 getEndTime(times)
,它们以 24 小时时钟格式返回开始和结束时间,即在上述情况下,它会返回 15:35
和 17: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/