summaryrefslogtreecommitdiff
path: root/website/static/admin/js/timeparse.js
diff options
context:
space:
mode:
authorPrashant S2019-11-28 12:10:16 +0530
committerGitHub2019-11-28 12:10:16 +0530
commit10a937a8ed33d4b4f6e89bcb4648310e87724dea (patch)
tree3c75073273e6ae6cc2f986dbdb592ddd23dac62b /website/static/admin/js/timeparse.js
parent9d63c1b8d18d29702712b19cb338913fe5a864fc (diff)
parent2a52d173d596281e871b1686dd1ceb800cafe122 (diff)
downloadpyfoss-10a937a8ed33d4b4f6e89bcb4648310e87724dea.tar.gz
pyfoss-10a937a8ed33d4b4f6e89bcb4648310e87724dea.tar.bz2
pyfoss-10a937a8ed33d4b4f6e89bcb4648310e87724dea.zip
Merge pull request #11 from prashantsinalkar/master
updated the django version 2.2.7 LTS and packages to latest version
Diffstat (limited to 'website/static/admin/js/timeparse.js')
-rw-r--r--website/static/admin/js/timeparse.js94
1 files changed, 94 insertions, 0 deletions
diff --git a/website/static/admin/js/timeparse.js b/website/static/admin/js/timeparse.js
new file mode 100644
index 0000000..882f41d
--- /dev/null
+++ b/website/static/admin/js/timeparse.js
@@ -0,0 +1,94 @@
+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;
+}