Files
@ 15ee2b6eddfb
Branch filter:
Location: website/www/conservancy/static/admin/js/timeparse.js - annotation
15ee2b6eddfb
2.4 KiB
application/javascript
Update punctuation.
6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d 6b0577b5052d | var timeParsePatterns = [
// 9
{ re: /^\d{1,2}$/i,
handler: function(bits) {
if (bits[0].length == 1) {
return '0' + bits[0] + ':00';
} else {
return bits[0] + ':00';
}
}
},
// 13:00
{ re: /^\d{2}[:.]\d{2}$/i,
handler: function(bits) {
return bits[0].replace('.', ':');
}
},
// 9:00
{ re: /^\d[:.]\d{2}$/i,
handler: function(bits) {
return '0' + bits[0].replace('.', ':');
}
},
// 3 am / 3 a.m. / 3am
{ re: /^(\d+)\s*([ap])(?:.?m.?)?$/i,
handler: function(bits) {
var hour = parseInt(bits[1]);
if (hour == 12) {
hour = 0;
}
if (bits[2].toLowerCase() == 'p') {
if (hour == 12) {
hour = 0;
}
return (hour + 12) + ':00';
} else {
if (hour < 10) {
return '0' + hour + ':00';
} else {
return hour + ':00';
}
}
}
},
// 3.30 am / 3:15 a.m. / 3.00am
{ re: /^(\d+)[.:](\d{2})\s*([ap]).?m.?$/i,
handler: function(bits) {
var hour = parseInt(bits[1]);
var mins = parseInt(bits[2]);
if (mins < 10) {
mins = '0' + mins;
}
if (hour == 12) {
hour = 0;
}
if (bits[3].toLowerCase() == 'p') {
if (hour == 12) {
hour = 0;
}
return (hour + 12) + ':' + mins;
} else {
if (hour < 10) {
return '0' + hour + ':' + mins;
} else {
return hour + ':' + mins;
}
}
}
},
// noon
{ re: /^no/i,
handler: function(bits) {
return '12:00';
}
},
// midnight
{ re: /^mid/i,
handler: function(bits) {
return '00:00';
}
}
];
function parseTimeString(s) {
for (var i = 0; i < timeParsePatterns.length; i++) {
var re = timeParsePatterns[i].re;
var handler = timeParsePatterns[i].handler;
var bits = re.exec(s);
if (bits) {
return handler(bits);
}
}
return s;
}
|