Hi,

I'm working on better time zone support for Remind and I have something
that is ready for very very very early-adopters to look at and test.

You'll need to clone the Remind git repo from eg
https://salsa.debian.org/dskoll/remind and switch to the branch
"wip/timezone-support".  Build from that branch.

I've added a TZ keyword to the REM command, which you should follow
with a time zone name.  You can only use TZ if you also have an AT
clause.

Anyway, here's a little taste.  Consider this REM command:

    REM Thursday AT 15:00 TZ Europe/Amsterdam MSG Something at 15:00 CEST (%2)

My time zone is America/Toronto which is UTC-5 when standard time is in
effect and UTC - 4 when daylight saving time is in effect.

If I run Remind against the above command...

... on 2025-09-04, I get: Something at 15:00 CEST (at 9:00am)
... on 2025-10-30, I get: Something at 15:00 CEST (at 10:00am)
... on 2026-03-05, I get: Something at 15:00 CEST (at 9:00am)
... on 2026-03-12, I get: Something at 15:00 CEST (at 10:00am)

As you can see, the difference in daylight saving time rules is
automatically taken into account and everything Just Works (or at
least... Just Works if your C library is high-quality...)

Cases like moving things across day boundaries should work.  For
example:

    REM Fri AT 23:30 TZ America/Toronto +1000 SATISFY [$Td == 13] \
        MSG Fri 13th @23:30 Eastern is %b %2 here
    SET a $T
    SET b $Tt
    MSG a = [a], b = [b]

If we run that from the Europe/Amsterdam time zone, we get this:

    Fri 13th @23:30 Eastern is on Saturday, 14 February, 2026 at 5:30am here
    a = 2026-02-14, b = 05:30

Note that *within* a SATISFY expression, we see dates within the
reminder's time zone (so 2026-02-13 is seen within SATISFY) but
*outside* the REM command, the trigger date and time are automatically
adjusted to local time.

Adding time zone support required touching a lot of code and made Remind
even messier internally. :)  So I'm sure there might be a few edge-cases
I've missed; please give it a test.

Regards,

Dianne.

Attachment: pgpNF3t2fhKVN.pgp
Description: OpenPGP digital signature

_______________________________________________
Remind-fans mailing list
[email protected]
https://dianne.skoll.ca/mailman/listinfo/remind-fans
Remind is at https://dianne.skoll.ca/projects/remind/

Reply via email to