From 53c7f1248f5284080fff872ac79b3996474412b3 Mon Sep 17 00:00:00 2001 From: garethgeorge Date: Thu, 16 Nov 2023 21:56:23 -0800 Subject: [PATCH] fix: time formatting in operation list --- webui/src/components/OperationList.tsx | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/webui/src/components/OperationList.tsx b/webui/src/components/OperationList.tsx index 09789af8..8ed92f72 100644 --- a/webui/src/components/OperationList.tsx +++ b/webui/src/components/OperationList.tsx @@ -124,7 +124,7 @@ export const OperationRow = ({ - {opType} Error at {formatTime(operation.unixTimeStartMs!)} + {formatTime(operation.unixTimeStartMs!)} - {opType} Error } avatar={} @@ -134,7 +134,7 @@ export const OperationRow = ({ ); } else if (operation.operationBackup) { const backupOp = operation.operationBackup; - let desc = `Backup at ${formatTime(operation.unixTimeStartMs!)}`; + let desc = `${formatTime(operation.unixTimeStartMs!)} - Backup`; if (operation.status !== OperationStatus.STATUS_INPROGRESS) { desc += ` completed in ${formatDuration( parseInt(operation.unixTimeEndMs!) - @@ -184,7 +184,7 @@ export const OperationRow = ({ Snapshot at {formatTime(snapshotOp.snapshot!.unixTimeMs!)} + <>{formatTime(snapshotOp.snapshot!.unixTimeMs!)} - Snapshot } avatar={} description={ @@ -351,16 +351,15 @@ const formatBytes = (bytes?: number | string) => { return `${Math.round(bytes * 100) / 100} ${units[unit]}`; }; +const timezoneOffsetMs = new Date().getTimezoneOffset() * 60 * 1000; const formatTime = (time: number | string) => { if (typeof time === "string") { time = parseInt(time); } const d = new Date(); - d.setTime(time); - return d.toLocaleString(undefined, { - dateStyle: "short", - timeStyle: "long", - }); + d.setTime(time - timezoneOffsetMs); + const isoStr = d.toISOString(); + return `${isoStr.substring(0, 10)} ${d.getUTCHours()}h${d.getUTCMinutes()}m`; }; const formatDuration = (ms: number) => {