diff --git a/package.json b/package.json index e538e94..442f422 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,6 @@ "date-fns": "2.25.0", "ini": "^1.3.5", "jquery": "3.5.1", - "moment": "2.27.0", "raw-loader": "^0.5.1", "react": "16.13.1", "react-dom": "16.13.1", diff --git a/src/player.jsx b/src/player.jsx index 95a6f4f..8705e89 100644 --- a/src/player.jsx +++ b/src/player.jsx @@ -59,7 +59,6 @@ import { journal } from 'journal'; const cockpit = require("cockpit"); const _ = cockpit.gettext; -const moment = require("moment"); const $ = require("jquery"); const padInt = function (n, w) { @@ -72,8 +71,22 @@ const padInt = function (n, w) { return ((i < 0) ? '-' : '') + s; }; +/* + * Format date and time for a number of milliseconds since Epoch. + * YYYY-MM-DD HH:mm:ss + */ const formatDateTime = function (ms) { - return moment(ms).format("YYYY-MM-DD HH:mm:ss"); + /* Convert local timezone offset */ + let t = new Date(ms); + let z = t.getTimezoneOffset() * 60 * 1000; + let tLocal = t - z; + tLocal = new Date(tLocal); + let iso = tLocal.toISOString(); + + /* cleanup ISO format */ + iso = iso.slice(0, 19); + iso = iso.replace('T', ' '); + return iso; }; /* diff --git a/src/recordings.jsx b/src/recordings.jsx index c99aa0e..ae4a0bf 100644 --- a/src/recordings.jsx +++ b/src/recordings.jsx @@ -65,7 +65,6 @@ import { journal } from 'journal'; const $ = require("jquery"); const cockpit = require("cockpit"); const _ = cockpit.gettext; -const moment = require("moment"); const Player = require("./player.jsx"); const Config = require("./config.jsx"); @@ -85,14 +84,33 @@ const padInt = function (n, w) { /* * Format date and time for a number of milliseconds since Epoch. + * YYYY-MM-DD HH:mm:ss */ const formatDateTime = function (ms) { - return moment(ms).format("YYYY-MM-DD HH:mm:ss"); + /* Convert local timezone offset */ + let t = new Date(ms); + let z = t.getTimezoneOffset() * 60 * 1000; + let tLocal = t - z; + tLocal = new Date(tLocal); + let iso = tLocal.toISOString(); + + /* cleanup ISO format */ + iso = iso.slice(0, 19); + iso = iso.replace('T', ' '); + return iso; }; const formatUTC = function(date) { - return moment(date).utc() - .format("YYYY-MM-DD HH:mm:ss") + " UTC"; + let iso = null; + try { + iso = new Date(date).toISOString(); + iso = iso.slice(0, 19); + iso = iso.replace('T', ' ') + " UTC"; + } catch (error) { + iso = ""; + } + + return iso; }; /*