-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathepoch.js
116 lines (112 loc) · 2.92 KB
/
epoch.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
"use strict";
function compareMonth(month) {
switch (month) {
case "JAN":
month = 1;
break;
case "FEB":
month = 2;
break;
case "MAR":
month = 3;
break;
case "APR":
month = 4;
break;
case "MAY":
month = 5;
break;
case "JUN":
month = 6;
break;
case "JUL":
month = 7;
break;
case "AUG":
month = 8;
break;
case "SEP":
month = 9;
break;
case "OCT":
month = 10;
break;
case "NOV":
month = 11;
break;
case "DEC":
month = 12;
break;
}
return month;
}
let epoch = {
getUnixTimeStamp: function(datetime) {
var tempDate = ["0", "0", "0"];
var tempTime = ["0", "0", "0"];
if (datetime.match("^[0-3]?[0-9]/[0-1]?[0-9]/[1-2][0-9]{3}$")) {
tempDate = datetime.split("/");
} else if (datetime.match("^[0-3]?[0-9]-[0-1]?[0-9]-[1-2][0-9]{3}$")) {
tempDate = datetime.split("-");
} else if (
datetime.match(
"^[0-3]?[0-9]-[0-1]?[0-9]-[1-2][0-9]{3} [0-2]?[0-9]:[0-6]?[0-9]:[0-6]?[0-9]$"
)
) {
var tempDateTime = datetime.split(" ");
tempDate = tempDateTime[0].split("-");
tempTime = tempDateTime[1].split(":");
} else if (
datetime.match(
"^[0-3]?[0-9]-[0-1]?[0-9]-[1-2][0-9]{3} [0-1]?[0-9]:[0-6]?[0-9]:[0-6]?[0-9] [APM]{2}$"
)
) {
var tempDateTime = datetime.split(" ");
tempDate = tempDateTime[0].split("-");
tempTime = tempDateTime[1].split(":");
if (tempDateTime[2] === "PM" && tempTime[0] < 12) {
tempTime[0] = parseInt(tempTime[0], 10) + 12;
}
} else if (
datetime.match(
"^[0-3]?[0-9]-[a-zA-Z]{3}-[1-2][0-9]{3} [0-2]?[0-9]:[0-6]?[0-9]:[0-6]?[0-9]$"
)
) {
var tempDateTime = datetime.split(" ");
tempDate = tempDateTime[0].split("-");
tempTime = tempDateTime[1].split(":");
tempDate[1] = compareMonth(tempDate[1]);
} else if (
datetime.match(
"^[0-3]?[0-9]-[a-zA-Z]{3}-[1-2][0-9]{3} [0-1]?[0-9]:[0-6]?[0-9]:[0-6]?[0-9] [APM]{2}$"
)
) {
var tempDateTime = datetime.split(" ");
tempDate = tempDateTime[0].split("-");
tempTime = tempDateTime[1].split(":");
tempDate[1] = compareMonth(tempDate[1]);
if (tempDateTime[2] === "PM" && tempTime[0] < 12) {
tempTime[0] = parseInt(tempTime[0], 10) + 12;
}
} else {
return "Error";
}
var milliTime = new Date(
tempDate[2],
tempDate[1] - 1,
tempDate[0],
tempTime[0],
tempTime[1],
tempTime[2]
);
return milliTime.getTime() / 1000; // Unix timestamp
},
getHumanFormat: function(unixTimeStamp) {
var fullDate = new Date(unixTimeStamp * 1000);
var date = fullDate.getDate();
var month = fullDate.getMonth() + 1;
var year = fullDate.getFullYear();
return date + "-" + month + "-" + year;
}
};
module.exports = epoch;