Javascript 从字符串转换时间
使用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
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)/, '');
}