0
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]将得到结束时间

4

2 回答 2

4

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

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"
于 2013-07-04T06:00:26.103 回答
0

使用split()方法。

var n = timeString.split(" ");
start = n[0];
end = n[n.length - 1];
于 2013-07-04T05:57:14.360 回答