System: OpenBSD 7.8 GENERIC.MP#31 amd64
/etc/localtime -> /usr/share/zoneinfo/Europe/Prague

Problem:
When using rlog(1) with -zLT, localtime conversion is incorrect during DST.
It adds +3h instead of +2h, although the formatted offset string shows +0200.

Reproducer:
Take an RCS file with a revision committed at
  2025-09-15 12:31:36 UTC

Convert to epoch:
$ date -ju -f "%Y-%m-%d %H:%M:%S" "2025-09-15 12:31:36" +%s
1757939496

Check with date(1):
$ env TZ=UTC date -r 1757939496
Mon Sep 15 12:31:36 UTC 2025

$ env TZ=Europe/Prague date -r 1757939496
Mon Sep 15 14:31:36 CEST 2025

Check with rlog(1):
$ TZ=UTC rlog -r -zLT bb | grep date
date: 2025-09-15 12:31:36+0000;   <-- OK

$ TZ=Europe/Prague rlog -r -zLT bb | grep date
date: 2025-09-15 15:31:36+0200;   <-- wrong (+3h instead of +2h)

$ rlog -r -z+02:00 bb | grep date
date: 2025-09-15 14:31:36+0200;   <-- correct

Expected:
-rlog -zLT should match the explicit offset (+02:00),
i.e. 14:31:36+0200 for Europe/Prague in September 2025.

Observed:
-rlog -zLT adds one extra hour.

Notes:
- zoneinfo is correct (/usr/share/zoneinfo/Europe/Prague),
- date(1) shows the right conversion,
- only rlog -zLT is affected.

Reply via email to