| 4.14.5 |
2019-08-22 |
diff --git a/docs/index.html b/docs/index.html
index 1dc6d14..080b3b9 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -168,7 +168,7 @@
systeminformation
- Current Version: 4.14.5
+ Current Version: 4.14.6
diff --git a/lib/util.js b/lib/util.js
index 8800433..f9d1dab 100644
--- a/lib/util.js
+++ b/lib/util.js
@@ -122,12 +122,36 @@ function decodeEscapeSequence(str, base) {
function parseTime(t) {
t = t.toUpperCase();
- const parts = t.split(':');
- let isPM = (parts[1] && (parts[1].toLowerCase().indexOf('pm') > -1) || (parts[1].toLowerCase().indexOf('p.m.') > -1) || (parts[1].toLowerCase().indexOf('p. m.') > -1));
- let hour = parseInt(parts[0], 10);
- const min = parseInt(parts[1], 10);
- hour = isPM && hour < 12 ? hour + 12 : hour;
- return ('0' + hour).substr(-2) + ':' + ('0' + min).substr(-2);
+ let hour = 0;
+ let min = 0;
+ let parts = t.split(':');
+ if (parts.length >= 2) {
+ let isPM = (parts[1] && (parts[1].toLowerCase().indexOf('pm') > -1) || (parts[1].toLowerCase().indexOf('p.m.') > -1) || (parts[1].toLowerCase().indexOf('p. m.') > -1));
+ hour = parseInt(parts[0], 10);
+ min = parseInt(parts[1], 10);
+ hour = isPM && hour < 12 ? hour + 12 : hour;
+ return ('0' + hour).substr(-2) + ':' + ('0' + min).substr(-2);
+ }
+ let parts = t.split('.');
+ if (parts.length >= 2) {
+ let isPM = (parts[1] && (parts[1].toLowerCase().indexOf('pm') > -1) || (parts[1].toLowerCase().indexOf('p.m.') > -1) || (parts[1].toLowerCase().indexOf('p. m.') > -1) || (parts[1].toLowerCase().indexOf('n') > -1) || (parts[1].toLowerCase().indexOf('ch') > -1) || (parts[1].toLowerCase().indexOf('ös') > -1));
+ hour = parseInt(parts[0], 10);
+ min = parseInt(parts[1], 10);
+ hour = isPM && hour < 12 ? hour + 12 : hour;
+ return ('0' + hour).substr(-2) + ':' + ('0' + min).substr(-2);
+ }
+ let parts = t.split(' ');
+ if (parts.length >= 2) {
+ let isPM = ((t.toLowerCase().indexOf('pm') > -1) || (t.toLowerCase().indexOf('p.m.') > -1) || (t.toLowerCase().indexOf('p. m.') > -1) || (t.toLowerCase().indexOf('n') > -1) || (t.toLowerCase().indexOf('ch') > -1) || (t.toLowerCase().indexOf('ös') > -1));
+ hour = parseInt(parts[0], 10);
+ if (parts[1] === 'h' && parts[2]) {
+ min = parseInt(parts[2], 10);
+ } else {
+ min = parseInt(parts[1], 10);
+ }
+ hour = isPM && hour < 12 ? hour + 12 : hour;
+ return ('0' + hour).substr(-2) + ':' + ('0' + min).substr(-2);
+ }
}
function parseDateTime(dt) {
@@ -138,10 +162,20 @@ function parseDateTime(dt) {
const parts = dt.split(' ');
if (parts[0]) {
if (parts[0].indexOf('/') >= 0) {
- // Dateformat: mm/dd/yyyy
+ // Dateformat: mm/dd/yyyy or dd/mm/yyyy or dd/mm/yy or yyyy/mm/dd
const dtparts = parts[0].split('/');
if (dtparts.length === 3) {
- result.date = dtparts[2] + '-' + ('0' + dtparts[0]).substr(-2) + '-' + ('0' + dtparts[1]).substr(-2);
+ if (dtparts[0].length === 4) {
+ // Dateformat: yyyy/mm/dd
+ result.date = dtparts[0] + '-' + ('0' + dtparts[1]).substr(-2) + '-' + ('0' + dtparts[2]).substr(-2);
+ } else if (dtparts[2].length === 2) {
+ // Dateformat: dd/mm/yy
+ result.date = '20' + dtparts[2] + '-' + ('0' + dtparts[1]).substr(-2) + '-' + ('0' + dtparts[0]).substr(-2);
+ } else {
+ // Dateformat: mm/dd/yyyy or dd/mm/yyyy
+ result.date = dtparts[2] + '-' + ('0' + dtparts[0]).substr(-2) + '-' + ('0' + dtparts[1]).substr(-2);
+
+ }
}
}
if (parts[0].indexOf('.') >= 0) {
@@ -153,6 +187,7 @@ function parseDateTime(dt) {
}
if (parts[0].indexOf('-') >= 0) {
// Dateformat: yyyy-mm-dd
+ const isEN = ((dt.toLowerCase().indexOf('pm') > -1) || (t.toLowerCase().indexOf('p.m.') > -1) || (t.toLowerCase().indexOf('p. m.') > -1) || (dt.toLowerCase().indexOf('am') > -1) || (t.toLowerCase().indexOf('a.m.') > -1) || (t.toLowerCase().indexOf('a. m.') > -1));
const dtparts = parts[0].split('-');
if (dtparts.length === 3) {
result.date = dtparts[0] + '-' + ('0' + dtparts[1]).substr(-2) + '-' + ('0' + dtparts[2]).substr(-2);
@@ -160,7 +195,8 @@ function parseDateTime(dt) {
}
}
if (parts[1]) {
- let time = parts[1] + (parts[2] ? parts[2] : '');
+ parts.shift();
+ let time = parts.join(' ');
result.time = parseTime(time);
}
return result;