metrics: Use `setUTC*` functions to work across all timezones
metrics: Use `setUTC*` functions to work across all timezones

If timezone is shifted by 30 minutes compared to UTC, then `setMinutes`
does not behave as expected.

Example:
`time` in UTC is "10:34" which in some timezone is "3:04". We then want
to round the time by one minute down, so we do `setMinutes(33)` which
works for all timezones that are shifted by full hours but it completely
breaks some timezones as they now would not be "3:03" but "3:33" which
in UTC would be "11:03".

Fixes #16492

martinpitt/cockpit,mvollmer/cockpit,martinpitt/cockpit,cockpit-project/cockpit,cockpit-project/cockpit,mvollmer/cockpit,mvollmer/cockpit,martinpitt/cockpit,martinpitt/cockpit,martinpitt/cockpit,mvollmer/cockpit,mvollmer/cockpit,cockpit-project/cockpit,cockpit-project/cockpit,cockpit-project/cockpit