Javascript 从字符串转换时间

Javascript 从字符串转换时间,javascript,Javascript,使用javascript,我将如何处理需要将时间从标准格式转换为军事时间的场景。例如,我有一个字符串,如: Example 1 __ MON-FRI 9:00am - 9:00pm SAT 9:00am - 7:00pm Example 2 __ MON-FRI 9:00 am - 9:00 pm SAT 9:00 am - 7:00 pm Example 3 __ MON-FRI 9am - 9pm SAT 9am - 7pm Example 4 __ MON-FRI 9 am

使用javascript,我将如何处理需要将时间从标准格式转换为军事时间的场景。例如,我有一个字符串,如:

  Example 1 __ MON-FRI 9:00am - 9:00pm SAT 9:00am - 7:00pm
  Example 2 __ MON-FRI 9:00 am - 9:00 pm SAT 9:00 am - 7:00 pm
  Example 3 __ MON-FRI 9am - 9pm SAT 9am - 7pm
  Example 4 __ MON-FRI 9 am - 9 pm SAT 9 am - 7 pm
如果我有一个字符串,则预期输出为: 周一至周五9:00-21:00周六9:00-19:00


提前感谢您的帮助。

您需要任何功能将您的时间从12小时格式转换为24小时格式,如:

function convertTo24Hour(time) {
    var hours = parseInt(time.substr(0, 2));
    if(time.indexOf('am') != -1 && hours == 12) {
        time = time.replace('12', '0');
    }
    if(time.indexOf('pm')  != -1 && hours < 12) {
        time = time.replace(hours, (hours + 12));
    }
    return time.replace(/(am|pm)/, '');
}
这个

结果会是这样吗

MON-FRI 9:00 - 21:00 SAT 9:00 - 19:00
编辑

已将正则表达式模式修复为:

/\d+:?\d{0,2}\s?am|\d+:?\d{0,2}\s?pm/g
时间格式转换器功能用于:

function convertTo24Hour(time) {
    var hours = parseInt(time.substr(0, 2));
    if(time.indexOf('am') != -1 && hours == 12) {
        if(time.indexOf(':' == -1)) {
            time = time.replace('12', '0:00');
        }
        time = time.replace('12', '0');
    }
    if(time.indexOf('pm')  != -1 && hours < 12) {
        if(time.indexOf(':' == -1)) {
            time = time.replace(hours, (hours + 12)+':00');
        }
        time = time.replace(hours, (hours + 12));
    }    
    return time.replace(/(am|pm)/, '');
}

现在,它应该适用于所有字符串。

请以正确的方式将代码粘贴到模糊上下文中。请看一下momentjs。comA示例集并不构成规范。嗨,Pablo,感谢您对示例1的响应。那样很好。如果我的字符串是MON-sat9h-21h-sun9h-21h,那么可以将其转换为军用格式吗?与前面提到的预期产出类似?非常感谢。
/\d+:?\d{0,2}\s?am|\d+:?\d{0,2}\s?pm/g
function convertTo24Hour(time) {
    var hours = parseInt(time.substr(0, 2));
    if(time.indexOf('am') != -1 && hours == 12) {
        if(time.indexOf(':' == -1)) {
            time = time.replace('12', '0:00');
        }
        time = time.replace('12', '0');
    }
    if(time.indexOf('pm')  != -1 && hours < 12) {
        if(time.indexOf(':' == -1)) {
            time = time.replace(hours, (hours + 12)+':00');
        }
        time = time.replace(hours, (hours + 12));
    }    
    return time.replace(/(am|pm)/, '');
}