1
var timeParsePatterns = [
4
handler: function(bits) {
5
if (bits[0].length == 1) {
6
return '0' + bits[0] + ':00';
8
return bits[0] + ':00';
13
{ re: /^\d{2}[:.]\d{2}$/i,
14
handler: function(bits) {
15
return bits[0].replace('.', ':');
19
{ re: /^\d[:.]\d{2}$/i,
20
handler: function(bits) {
21
return '0' + bits[0].replace('.', ':');
24
// 3 am / 3 a.m. / 3am
25
{ re: /^(\d+)\s*([ap])(?:.?m.?)?$/i,
26
handler: function(bits) {
27
var hour = parseInt(bits[1]);
31
if (bits[2].toLowerCase() == 'p') {
35
return (hour + 12) + ':00';
38
return '0' + hour + ':00';
45
// 3.30 am / 3:15 a.m. / 3.00am
46
{ re: /^(\d+)[.:](\d{2})\s*([ap]).?m.?$/i,
47
handler: function(bits) {
48
var hour = parseInt(bits[1]);
49
var mins = parseInt(bits[2]);
56
if (bits[3].toLowerCase() == 'p') {
60
return (hour + 12) + ':' + mins;
63
return '0' + hour + ':' + mins;
65
return hour + ':' + mins;
72
handler: function(bits) {
78
handler: function(bits) {
84
function parseTimeString(s) {
85
for (var i = 0; i < timeParsePatterns.length; i++) {
86
var re = timeParsePatterns[i].re;
87
var handler = timeParsePatterns[i].handler;
88
var bits = re.exec(s);