diff --git a/main.go b/main.go index 95fc4f9..7a22176 100644 --- a/main.go +++ b/main.go @@ -1667,7 +1667,7 @@ func main() { if t.IsZero() { return "" } - return t.In(loc).Format("2006-01-02 15:04:05 MST") + return utcDBTime(t).In(loc).Format("2006-01-02 15:04:05 MST") }, "short": func(s string, n int) string { if len(s) <= n { @@ -1739,6 +1739,23 @@ func main() { } } +func utcDBTime(t time.Time) time.Time { + if t.IsZero() { + return t + } + + return time.Date( + t.Year(), + t.Month(), + t.Day(), + t.Hour(), + t.Minute(), + t.Second(), + t.Nanosecond(), + time.UTC, + ) +} + func (s *server) listPrivilegedUsers(ctx context.Context) ([]PrivilegedUserRow, error) { rows, err := s.db.QueryContext(ctx, ` SELECT username, COALESCE(reason, ''), enabled, created_at, updated_at @@ -1780,7 +1797,7 @@ func (s *server) handleUIPrivilegedUsers(w http.ResponseWriter, r *http.Request) s.renderTemplate(w, "privileged_users", PrivilegedUsersPageData{ Title: "Privileged Users", - Now: time.Now().In(s.location), + Now: time.Now().UTC(), Users: users, }) } @@ -2084,7 +2101,7 @@ func (s *server) handleUISOC(w http.ResponseWriter, r *http.Request) { s.renderTemplate(w, "soc", SOCPageData{ Title: "SOC Dashboard", - Now: time.Now(), + Now: time.Now().UTC(), TopHosts: topHosts, RecentIncidents: incidents, }) @@ -2477,7 +2494,7 @@ func (s *server) handleUIBaseline(w http.ResponseWriter, r *http.Request) { data := BaselinePageData{ Title: "Baseline-Anomalien", - Now: time.Now(), + Now: time.Now().UTC(), Filters: filters, Anomalies: items, } @@ -2556,7 +2573,7 @@ func (s *server) handleUIRules(w http.ResponseWriter, r *http.Request) { s.renderTemplate(w, "rules", DynamicRulePageData{ Title: "Dynamic Rules", - Now: time.Now(), + Now: time.Now().UTC(), Rules: rules, }) }