As such, whilst looking through this page
(https://www.postgresql.org/docs/current/functions-formatting.html) as shown
in the Udemy course I'm following, I noticed that the notes "OF" state
"time-zone offset from UTC (HH or HH:MM)", which I believe should be
"time-zone offset from UTC (HH or HH:MI)".
Technically interpreting either of those according to the format specifiers co-located in that table is wrong. All HH and MM stand for here are hours and minutes, trying to communicate fixed two-digits.
psql -c "SET LOCAL timezone = 'Pacific/Apia'; SELECT to_char(now(), 'YYYY-MM-DD HH24:MI:SS OF') AS plus13_apia;"
plus13_apia
-------------------------
2026-05-06 12:11:49 +13
(1 row)
HH is defined on the range 0-12 but here we see we get +13 (and it's easy to also produce negative offsets).
That said, the way I'd fix this is:
TZH - time-zone hours offset from UTC , signed, two-digits, e.g., -04 or +05
TZM - time-zone minutes offset from UTC, unsigned two-digit (to append, not add), e.g., 00 or 30
OF - TZH[:TZM] time-zone offset, but minutes are suppressed when zero. e.g., -04 or +05:30
David J.