DST timezone rules

Having difficulties when installing the system? Your system runs slowly and requires some tweaking? You can get help here.
Post Reply
User avatar

Topic author
martinv
Master
Posts: 104
Joined: Fri Jun 14, 2019 11:05 pm
Reputation: 0
Location: Goslar, Germany
Status: Offline
Contact:

DST timezone rules

Post by martinv » Mon Oct 30, 2023 8:57 am

Hi!

As the DST-to-STD change has just occured in Germany, I have a bugfix request to make. The TZ database for "Europe/Berlin" contains this timezone rule

Code: Select all

CET^1CEST^2,M3.4.0/02,M10.5.0/03
which is WRONG (and has been for as long as I can remember). The correct STD-to-DST rule is "M3.5.0/02" (i.e. not the fourth, but the last Sunday in March).

The reason I bring this up is that for the next STD-to-DST change, the error will strike - the change will not be on 24-Mar-2024, but on 31-Mar-2024.

cu,
Martin
Last edited by martinv on Mon Oct 30, 2023 8:58 am, edited 1 time in total.
There is something wrong with everything that is popular.
(Charles Fort)


joukj
Master
Posts: 175
Joined: Thu Aug 27, 2020 5:50 am
Reputation: 0
Status: Offline

Re: DST timezone rules

Post by joukj » Mon Oct 30, 2023 11:20 am

Probably wrong for all CEST zones.... same problem with Europe/Amsterdam

User avatar

volkerhalle
Master
Posts: 198
Joined: Fri Aug 14, 2020 11:31 am
Reputation: 0
Status: Offline

Re: DST timezone rules

Post by volkerhalle » Mon Oct 30, 2023 11:53 am

Martin,

DECnet/OSI V6.3 for OpenVMS VAX V6.2 has got it right ;-)

Code: Select all

  "SYS$TIMEZONE_RULE" = "MET-1MET_DST-2,M3.5.0/2,M10.5.0/3"
  
   Version = "DECnet/OSI for OpenVMS Version V6.3-ECO04 27-JUN-1996 23:36:09.95"

The problem may not be to fix this - can you raise a problem report in the VSI Service Platform ? - but to patch all the remaining OpenVMS systems in the field (at least in Europe) before 24-MAR-2024

Volker.
Last edited by volkerhalle on Mon Oct 30, 2023 11:54 am, edited 1 time in total.

User avatar

volkerhalle
Master
Posts: 198
Joined: Fri Aug 14, 2020 11:31 am
Reputation: 0
Status: Offline

Re: DST timezone rules

Post by volkerhalle » Tue Oct 31, 2023 3:50 am

Pointer to an article on 'Troubleshooting OpenVMS Time zone Issues' from the Digital Technical Journal V17, which describes building timezone rule files:

https://www.zx.net.nz/mirror/h71000.www ... oting.html

Hope this helps,

Volker.


madsweeney
VSI Expert
Active Contributor
Posts: 40
Joined: Mon Jun 10, 2019 9:23 am
Reputation: 1
Status: Offline

Re: DST timezone rules

Post by madsweeney » Tue Oct 31, 2023 11:59 am

I am not saying the problem will not exist but the rule you are looking at is the 2023 rule. On January 1, 2024 the rule will be updated to the 2024 rule. Its possible the 2024 rule will correct the problem. I unfortunately do not have a system that can be used to check the rule update that will happen on January 1.
Dave Sweeney
CEO
VMS Software, Inc.
Boston, MA USA

User avatar

volkerhalle
Master
Posts: 198
Joined: Fri Aug 14, 2020 11:31 am
Reputation: 0
Status: Offline

Re: DST timezone rules

Post by volkerhalle » Tue Oct 31, 2023 1:04 pm

Dave,

I'm deeply impressed:

X86VMS $ sho log *time*zone*rule*

"SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03"

X86VMS $ set time=14-jan-2024
X86VMS $ sho time
14-JAN-2024 00:00:02

X86VMS $ sho log *time*zone*rule*

"SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.5.0/02,M10.4.0/03"

They key seems to be the following lines in SYS$COMMON:[SYS$ZONEINFO.SYSTEM.SOURCES]europe.

Code: Select all

Rule    EU      1981    max     -       Mar     lastSun  1:00u  1:00    S
Rule    EU      1996    max     -       Oct     lastSun  1:00u  0       -
Thanks for the clarification.

Volker.

User avatar

Topic author
martinv
Master
Posts: 104
Joined: Fri Jun 14, 2019 11:05 pm
Reputation: 0
Location: Goslar, Germany
Status: Offline
Contact:

Re: DST timezone rules

Post by martinv » Wed Nov 01, 2023 3:24 am

Dave,

I'm baffled - I had no idea that the SET TIME command would update the time logicals. Hopefuly this also happens when the regular rollover to 2024 happens.

(Later) No it doesn't, as the following script shows

Code: Select all

$ type timezone_test.com
$ set time="31-dec-2023 23:59:55"
$ loop:
$   show time
$   show logical sys$timezone_rule
$   wait ::1
$   goto loop
$
$ @timezone_test.com
  31-DEC-2023 23:59:55
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03" (LNM$SYSTEM_TABLE)
  31-DEC-2023 23:59:56
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03" (LNM$SYSTEM_TABLE)
  31-DEC-2023 23:59:57
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03" (LNM$SYSTEM_TABLE)
  31-DEC-2023 23:59:58
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03" (LNM$SYSTEM_TABLE)
  31-DEC-2023 23:59:59
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03" (LNM$SYSTEM_TABLE)
   1-JAN-2024 00:00:00
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03" (LNM$SYSTEM_TABLE)
   1-JAN-2024 00:00:01
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03" (LNM$SYSTEM_TABLE)
   1-JAN-2024 00:00:02
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03" (LNM$SYSTEM_TABLE)
   1-JAN-2024 00:00:03
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03" (LNM$SYSTEM_TABLE)
 *Interrupt*

$
How is the logical adapted to the 2024 value if no SET TIME is issued?

That said, with the new SYS$TIMEZONE_RULE logical the DST-to-STD rule is wrong again (M10.4.0/03 instead of M10.5.0/3), but that's okay as the fourth Sunday in October 2024 will also be the last Sunday.

cu,
Martin

Added in 18 minutes 57 seconds:
Volker,

nitpicking...
volkerhalle wrote:
Tue Oct 31, 2023 1:04 pm
They key seems to be the following lines in SYS$COMMON:[SYS$ZONEINFO.SYSTEM.SOURCES]europe.

Code: Select all

Rule    EU      1981    max     -       Mar     lastSun  1:00u  1:00    S
Rule    EU      1996    max     -       Oct     lastSun  1:00u  0       -
But in the same file it is stated that these rules only apply to Western and Eastern Europe, while Central Europe uses the "C-Eur" rules (which state the same rules, only in local time):

Code: Select all

Rule    C-Eur   1981    max     -       Mar     lastSun  2:00s  1:00    S
Rule    C-Eur   1996    max     -       Oct     lastSun  2:00s  0       -

Zone    WET             0:00    EU      WE%sT
Zone    CET             1:00    C-Eur   CE%sT
Zone    MET             1:00    C-Eur   ME%sT
Zone    EET             2:00    EU      EE%sT
<sigh> There's a reason that the VMS FAQ dedicates a whole chapter to Time and Timekeeping....

cu,
Martin
Last edited by martinv on Wed Nov 01, 2023 3:24 am, edited 1 time in total.
There is something wrong with everything that is popular.
(Charles Fort)

User avatar

volkerhalle
Master
Posts: 198
Joined: Fri Aug 14, 2020 11:31 am
Reputation: 0
Status: Offline

Re: DST timezone rules

Post by volkerhalle » Wed Nov 01, 2023 6:29 am

Martin,

could you run your test until 01-JAN-2024 02:05 ?

There is one TQE for JOB_CONTROL at 1-JAN-2024 02:00:49.21 - this may cause the new time zone for 2024 to be set...

$ ANALYZE/SYSTEM
SDA> SET PROC JOB_CONTROL
SDA> SHOW PROCESS/TQE
...
820F4440 00B91FDE.CE1429A0 1-JAN-2024 02:00:49.21 TSA---
SDA> EXIT

Volker.

User avatar

Topic author
martinv
Master
Posts: 104
Joined: Fri Jun 14, 2019 11:05 pm
Reputation: 0
Location: Goslar, Germany
Status: Offline
Contact:

Re: DST timezone rules

Post by martinv » Wed Nov 01, 2023 7:55 am

Volker,

it does make a change:

Code: Select all

   1-JAN-2024 02:00:45
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03" (LNM$SYSTEM_TABLE)
   1-JAN-2024 02:00:46
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03" (LNM$SYSTEM_TABLE)
   1-JAN-2024 02:00:47
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03" (LNM$SYSTEM_TABLE)
   1-JAN-2024 02:00:48
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.4.0/02,M10.5.0/03" (LNM$SYSTEM_TABLE)
   1-JAN-2024 02:00:49
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.5.0/02,M10.4.0/03" (LNM$SYSTEM_TABLE)
   1-JAN-2024 02:00:50
   "SYS$TIMEZONE_RULE" = "CET^1CEST^2,M3.5.0/02,M10.4.0/03" (LNM$SYSTEM_TABLE)
Case closed.
There is something wrong with everything that is popular.
(Charles Fort)

User avatar

charles.williams1@covance.com
Member
Posts: 5
Joined: Wed May 03, 2023 10:08 am
Reputation: 0
Location: US - Ohio
Status: Offline

Re: DST timezone rules - Verifying timer queue entries

Post by charles.williams1@covance.com » Mon Nov 06, 2023 4:25 pm

If you would like to feel a little more secure that there are actually timer queue entries in place to make the DST changes, this little DCL command procedure will show you. Additionally, it's a nice simple example of using the system analyze utility.
Attachments
Check_Timer_Entries.zip
(884 Bytes) Downloaded 204 times

Post Reply