Fix a bug with time zone reporting in alerts.

This commit is contained in:
Ian Renton
2025-10-23 09:37:22 +01:00
parent 5d4b3d500d
commit f2f03b135f
2 changed files with 13 additions and 14 deletions

View File

@@ -124,16 +124,13 @@ function addAlertRowsToTable(tbody, alerts) {
var showRef = $("#tableShowRef")[0].checked; var showRef = $("#tableShowRef")[0].checked;
// Get times for the alert, and convert to local time if necessary. // Get times for the alert, and convert to local time if necessary.
var start_time_unix = moment.unix(a["start_time"]); var start_time_utc = moment.unix(a["start_time"]).utc();
var start_time = start_time_unix.utc(); var start_time_local = start_time_utc.clone().local();
if (useLocalTime) { console.log(a["dx_calls"])
start_time = start_time.local(); start_time = useLocalTime ? start_time_local : start_time_utc;
} var end_time_utc = moment.unix(a["end_time"]).utc();
var end_time_unix = moment.unix(a["end_time"]); var end_time_local = end_time_utc.clone().local();
var end_time = end_time_unix.utc(); end_time = useLocalTime ? end_time_local : end_time_utc;
if (useLocalTime) {
end_time = end_time.local();
}
// Format the times for display. Start time is displayed as e.g. 7 Oct 12:34 unless the time is in a // Format the times for display. Start time is displayed as e.g. 7 Oct 12:34 unless the time is in a
// different year to the current year, in which case the year is inserted between month and hour. // different year to the current year, in which case the year is inserted between month and hour.
@@ -143,8 +140,8 @@ function addAlertRowsToTable(tbody, alerts) {
// Overriding all of that, if the start time is 00:00 and the end time is 23:59 when considered in UTC, the // Overriding all of that, if the start time is 00:00 and the end time is 23:59 when considered in UTC, the
// hours and minutes are stripped out from the display, as we assume the server is just giving us full days. // hours and minutes are stripped out from the display, as we assume the server is just giving us full days.
// Finally, if there is no end date set, "---" is displayed. // Finally, if there is no end date set, "---" is displayed.
var whole_days = start_time_unix.utc().format("HH:mm") == "00:00" && var whole_days = start_time_utc.format("HH:mm") == "00:00" &&
(end_time_unix != null || end_time_unix > 0 || end_time_unix.utc().format("HH:mm") == "23:59"); (end_time_utc != null || end_time_utc > 0 || end_time_utc.format("HH:mm") == "23:59");
var hours_minutes_format = whole_days ? "" : " HH:mm"; var hours_minutes_format = whole_days ? "" : " HH:mm";
var start_time_formatted = start_time.format("D MMM" + hours_minutes_format); var start_time_formatted = start_time.format("D MMM" + hours_minutes_format);
if (start_time.format("YYYY") != moment().format("YYYY")) { if (start_time.format("YYYY") != moment().format("YYYY")) {
@@ -153,11 +150,13 @@ function addAlertRowsToTable(tbody, alerts) {
start_time_formatted = start_time.format("[Today]" + hours_minutes_format); start_time_formatted = start_time.format("[Today]" + hours_minutes_format);
} }
var end_time_formatted = "---"; var end_time_formatted = "---";
if (end_time_unix != null && end_time_unix > 0 && end_time != null) { if (end_time_utc != null && end_time_utc > 0 && end_time != null) {
var end_time_formatted = whole_days ? start_time_formatted : end_time.format("HH:mm"); var end_time_formatted = whole_days ? start_time_formatted : end_time.format("HH:mm");
if (end_time.format("D MMM") != start_time.format("D MMM")) { if (end_time.format("D MMM") != start_time.format("D MMM")) {
if (end_time.format("YYYY") != moment().format("YYYY")) { if (end_time.format("YYYY") != moment().format("YYYY")) {
end_time_formatted = end_time.format("D MMM YYYY" + hours_minutes_format); end_time_formatted = end_time.format("D MMM YYYY" + hours_minutes_format);
} else if (useLocalTime && end_time.format("D MMM YYYY") == moment().format("D MMM YYYY")) {
end_time_formatted = end_time.format("[Today]" + hours_minutes_format);
} else { } else {
end_time_formatted = end_time.format("D MMM" + hours_minutes_format); end_time_formatted = end_time.format("D MMM" + hours_minutes_format);
} }

View File

@@ -88,7 +88,7 @@ function updateTable() {
// Format a UTC or local time for display // Format a UTC or local time for display
var time = moment.unix(s["time"]).utc(); var time = moment.unix(s["time"]).utc();
if (useLocalTime) { if (useLocalTime) {
time = time.local(); time.local();
} }
var time_formatted = time.format("HH:mm"); var time_formatted = time.format("HH:mm");