Subject: bug#11281: DST has not effect on windows XP when system DST adjustment is disabled

From: Stefan Kangas <[email-masked]>
Date: Fri, 01 Nov 2019 20:54:17 +0100

Shuguang Sun <[email-masked]> writes:

> I'm using GNU Emacs 24.0.95.1 (i386-mingw-nt5.1.2600) of 2012-04-02 on
> MARVIN on WindowsXP SP3. I believe the issue exists in other version
> as well.
>
> In windows,
> 1. If I select the time zone GMP-5 EST (East Standard Time) and  check
> the enable Daylight Saving Time checkbox, the command
> display-time-world in emacs can show the time of New York correctly
> with DST.
> 2. If I select the time zone GMP-5 EST (East Standard Time) and
> UNCHECK the enable Daylight Saving Time checkbox, or if I select a
> time zone without DST, the command display-time-world in emacs can not
> show the time of New York correctly with DST.
> But actually the display-time-world-list for New York is ("EST5EDT"
> "New York"), which (EST5EDT) supposes to enable the Daylight Saving
> Time to show the time.
>
> I try the following code to trace the issue:
> (setq old-tz (getenv "TZ"))
> (setenv "TZ" "EST+5EDT")
> (message (format "%s" (getenv "TZ")))
> (message (format-time-string "%A %d %B %R %Z"))
> (decode-time)
> (setenv "TZ" "EST+5")
> (message (format "%s" (getenv "TZ")))
> (message (format-time-string "%A %d %B %R %Z"))
> (decode-time)
> (setenv "TZ" old-tz)
>
> The output is (Because I select a timezone without DST in windows, the
> time in the outputs is no DST as I described above):
> "EST+5EDT"
> "Thursday 19 April 11:27 EDT"
> (26 27 11 19 4 2012 4 t -18000)
>
> "EST+5"
> "Thursday 19 April 11:27 EST"
> (34 27 11 19 4 2012 4 nil -18000)
>
> (DST is t if daylight saving time is in effect,otherwise nil.from the
> doc of decode-time) From the output of decode-time, it is clear that
> if the TZ is set to "EST+5EDT", the DST is effect. So it is most
> likely the function format-time-string can not catch this information.
> But it is still weird that it DOES has effect if I enable the DST in
> the Windows system.

This was reported 7 years ago, but unfortunately never got a reply at
the time.

Is this still an issue on modern versions of Emacs?

Best regards,
Stefan Kangas