如何Regex分割时间字符串
How to Regex split time string
在javascript中,我有一个时间字符串var time = "12:30:49PM"
我想从该字符串中分离小时,分钟,秒和AM/PM。
浏览stackoverflow,我能够找到下面的正则表达式,分割小时,分钟和Am/pm,但我很不擅长正则表达式,所以我不知道如何做秒。
var hours = Number(time.match(/^('d+)/)[1]);
var minutes = Number(time.match(/:('d+)/)[1]);
var AMPM = time.match(/([AaPp][Mm])$/)[1];
如何获得第二个通过regex
在您的示例中,您只需做如下操作:
var time = "12:30:49PM";
var hours = Number(time.match(/^('d+)/)[1]);
var minutes = Number(time.match(/:('d+)/)[1]);
var AMPM = time.match(/([AaPp][Mm])$/)[1];
var seconds = Number(time.match(/:('d+):('d+)/)[2]);
console.log(hours, ":", minutes, ":", seconds, AMPM);
然而,在一次调用中获得所有内容会更有效:
var time = "12:30:49AM";
var matches = time.match(/^('d+):('d+):('d+)([AP]M)$/i);
var hours = matches[1];
var minutes = matches[2];
var seconds = matches[3];
var AMPM = matches[4];
console.log(hours, ":", minutes, ":", seconds, AMPM);
您可以将regex与ES6数组解构结合使用:
const time = "12:30:49PM"
const [hour, min, sec, period] = time.match(/'d+|'w+/g);
console.log(hour, min, sec, period);
你可以这样使用:
var time = "12:30:49PM"
var hours = Number(time.match(/^('d+)/)[1]);
var minutes = Number(time.match(/:('d+)/)[1]);
var sec = Number(time.match(/:('d+)'D+$/)[1]);
var AMPM = time.match(/([ap]m)$/i)[1];
console.log(hours);
console.log(minutes);
console.log(sec);
console.log(AMPM);
只拆分冒号和(p 'A)M部分
var time = "12:30:49PM";
var parts = time.split(/:|('DM)/).filter(Boolean);
console.log(parts)
var sec = Number(time.match(/:([0-9][0-9])/ig)[1].replace(":",""))
怎么样?:
console.log(DateTimeFormat(new Date(), '`The Year is ${y} DateTime is: ${m}/${d}/${y} Time is: ${h}:${M}:${s} `'))
function DateTimeFormat(dt, fmt)
{
[y, m, d, h, M, s, ms] = new
Date(dt).toLocaleString('UTC').match(/'d+/g)
return eval(fmt)
}
相关文章:
- Regex模式匹配,从Javascript中的字符串中提取时间,结果出乎意料
- 使用JavaScript将客户端日期/时间字符串转换为JSON日期/时间串
- 将时间字符串值转换为时间javascript
- javascript时间戳插入字符串变量
- Mysql日期时间字符串格式为angularjs中的可读日期
- momentjs 显示本地时间和自动格式化字符串
- 如何将 UTC 日期时间(字符串)转换为访问者时区
- 如何使用 Javascript 将持续时间字符串解析为秒
- 如何在JAVASCRIPT中使用格式HH:MM AM/PM将字符串转换为时间
- 正在读取UTC时间字符串
- Javascript格式时间军用am pm从字符串
- 在javascript中使用PHP时间字符串后,倒计时不起作用
- 转换一个时间(字符串),例如1:00 IST到另一个时区(比如PST)
- 如何从日期字符串中删除时间
- 在JavaScript/jQuery中将日期字符串转换为unix时间戳
- 如何将UTC时间字符串转换为本地时区中正确的moment.js对象
- 如何从javascript或jquery中的时间字符串中获取分钟数
- 将时间字符串(例如上午 9:00)转换为 24 小时 (0900)
- 如何将字符串时间跨度变量从Wcf转换为小时和分钟?
- 将字符串时间转换为毫秒