From 1539d6b98cdf0982cd7050154092b0c26d71d18e Mon Sep 17 00:00:00 2001 From: Eric Swenson Date: Wed, 13 Mar 2024 14:30:26 -0700 Subject: [PATCH] Updated daylight savings time calculations for the US to reflect current rules. In 2017, the rules changed from a start date of the 1st Sunday in April to the 2nd Sunday in March. The end date changed from the last Sunday in October to the 1st Sunday in November. --- src/system/{time.952 => time.953} | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) rename src/system/{time.952 => time.953} (96%) diff --git a/src/system/time.952 b/src/system/time.953 similarity index 96% rename from src/system/time.952 rename to src/system/time.953 index 75e37a63..5c3f6e28 100644 --- a/src/system/time.952 +++ b/src/system/time.953 @@ -228,24 +228,24 @@ IFDEF DSTEU,[IFN DSTEU,[ ;; else it's obviously DST ]] .ELSE [ - CAML A,[*SPD+7200.] ;IF BEFORE 2AM APR 1, - CAML A,[*SPD+3600.] ;OR IF AFTER 1AM STANDARD TIME OCT 31, + CAML A,[>*SPD+7200.] ;IF BEFORE 2AM MAR 7, + CAML A,[*SPD+3600.] ;OR IF AFTER 1AM STANDARD TIME NOV 1, POPJ P, ;THEN OBVIOUSLY STANDARD TIME IS IN EFFECT - CAML A,[*SPD+7200.] ;IF BEFORE 2AM APR 7 STANDARD TIME, - CAML A,[*SPD+3600.] ;OR IF AFTER 1AM STANDARD TIME OCTOBER 25, + CAML A,[>*SPD+7200.] ;IF BEFORE 2AM MAR 13 STANDARD TIME, + CAML A,[>*SPD+3600.] ;OR IF AFTER 1AM STANDARD TIME NOV 7, JRST GLPDT3 ;THEN NOT OBVIOUS ] CRDDST: TLO E,100000 ;DAYLIGHT SAVINGS TIME, SET BIT IN E ADDI A,3600. ;CONTINUE TO LOCALIZE THE TIME THAT WILL BE RETURNED POPJ P, - ;IT IS NOW SOMETIME DURING THE WEEKS IN APR AND OCTOBER + ;IT IS NOW SOMETIME DURING THE WEEKS IN MAR AND NOV ;WHEN IT MAY BE EITHER STANDARD OR DAYLIGHT SAVINGS TIME GLPDT3: PUSH P,A ;SAVE # SECS CAMG A,[JUL*SPD] ;IF NOT YET JULY, - TDZA D,D ;THEN IT MUST BE APR, SET INDEX - MOVEI D,1 ;OCTOBER, SET INDEX + TDZA D,D ;THEN IT MUST BE MAR, SET INDEX + MOVEI D,1 ;NOV, SET INDEX SUB A,CRDSB(D) ;COMPENSATE FOR 2AM OR 1AM IDIVI A,SPD ;FLUSH SECONDS, LEAVE ONLY DAYS (IT LOOKS LIKE A LEAP YEAR, REMEMBER) LDB C,[270300,,E] ;GET DAY OF WEEK OF BEGINNING OF YEAR IN C @@ -271,11 +271,11 @@ CRDTST: CAIGE A,> ;First possible last Sunday in March CAIL A,> ;First possible last Sunday in October ]] .ELSE [ -CRDSB: 7200. ;IN APR CHANGES AT 2AM EST - 3600. ;IN OCTOBER CHANGES AT 1AM EST +CRDSB: 7200. ;IN MAR CHANGES AT 2AM EST + 3600. ;IN NOV CHANGES AT 1AM EST -CRDTST: CAIGE A, - CAIL A, +CRDTST: CAIGE A, + CAIL A, ] ;IF LEAP YEAR THEN SET BIT 4.8 OF E ;IF NOT LEAP YEAR THEN IF AFTER FEB 28 THEN SET BIT 4.9 OF E AND ADD SPD TO A