UNPKG

1.1 kBJavaScriptView Raw
1const XDate = require('xdate');
2
3function padNumber(n) {
4 if (n < 10) {
5 return '0' + n;
6 }
7 return n;
8}
9
10function xdateToData(xdate) {
11 const dateString = xdate.toString('yyyy-MM-dd');
12 return {
13 year: xdate.getFullYear(),
14 month: xdate.getMonth() + 1,
15 day: xdate.getDate(),
16 timestamp: XDate(dateString, true).getTime(),
17 dateString: dateString
18 };
19}
20
21function parseDate(d) {
22 if (!d) {
23 return;
24 } else if (d.timestamp) { // conventional data timestamp
25 return XDate(d.timestamp, true);
26 } else if (d instanceof XDate) { // xdate
27 return XDate(d.toString('yyyy-MM-dd'), true);
28 } else if (d.getTime) { // javascript date
29 const dateString = d.getFullYear() + '-' + padNumber((d.getMonth() + 1)) + '-' + padNumber(d.getDate());
30 return XDate(dateString, true);
31 } else if (d.year) {
32 const dateString = d.year + '-' + padNumber(d.month) + '-' + padNumber(d.day);
33 return XDate(dateString, true);
34 } else if (d) { // timestamp number or date formatted as string
35 return XDate(d, true);
36 }
37}
38
39module.exports = {
40 xdateToData,
41 parseDate
42};
43