在 JavaScript 中将有时间的字符串转换为数组

convert string having time to array in javascript

本文关键字:字符串 转换 数组 时间 JavaScript      更新时间:2023-09-26
var timeString=$('.csstdhighlight').closest('tr').find('td:first-child').text();
//getting timestrinfg like this
timeString="07:15 PM07:30 PM07:45 PM08:00 PM08:15 PM08:30 PM08:45 PM";

我必须将字符串转换为数组。
这样我就可以从array arra[0]获得开始时间和结束时间array[array.length-1]将获得结束时间

正则表达式可以完成这项工作; 仅对于开始和停止时间:

var re = /^('d{2}:'d{2} [AP]M).*('d{2}:'d{2} [AP]M)$/,
match = timeString.match(re);
console.log(match[1]); // "07:15 PM"
console.log(match[2]); // "08:45 PM"

或者,匹配所有时间模式:

var re = /'d{2}:'d{2} [AP]M/g;
console.log(timeString.match(re));
// ["07:15 PM", "07:30 PM", "07:45 PM", "08:00 PM", "08:15 PM", "08:30 PM", "08:45 PM"]

更新

看到每次的正则表达式如何具有恒定的长度,并且您只需要第一个和最后一个,您甚至可以这样做:

timeString.substr(0, 8); // "07:15 PM"
timeString.substr(-8);   // "08:45 PM"

使用 split() 方法。

var n = timeString.split(" ");
start = n[0];
end = n[n.length - 1];