mirror of
https://github.com/PDP-10/its.git
synced 2026-01-17 16:53:23 +00:00
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.
This commit is contained in:
parent
505ad4864c
commit
1539d6b98c
@ -228,24 +228,24 @@ IFDEF DSTEU,[IFN DSTEU,[
|
||||
;; else it's obviously DST
|
||||
]]
|
||||
.ELSE [
|
||||
CAML A,[<APR 1>*SPD+7200.] ;IF BEFORE 2AM APR 1,
|
||||
CAML A,[<OCT 31.>*SPD+3600.] ;OR IF AFTER 1AM STANDARD TIME OCT 31,
|
||||
CAML A,[<MAR <1+6>>*SPD+7200.] ;IF BEFORE 2AM MAR 7,
|
||||
CAML A,[<NOV 1>*SPD+3600.] ;OR IF AFTER 1AM STANDARD TIME NOV 1,
|
||||
POPJ P, ;THEN OBVIOUSLY STANDARD TIME IS IN EFFECT
|
||||
CAML A,[<APR 7>*SPD+7200.] ;IF BEFORE 2AM APR 7 STANDARD TIME,
|
||||
CAML A,[<OCT 25.>*SPD+3600.] ;OR IF AFTER 1AM STANDARD TIME OCTOBER 25,
|
||||
CAML A,[<MAR <7+6>>*SPD+7200.] ;IF BEFORE 2AM MAR 13 STANDARD TIME,
|
||||
CAML A,[<NOV <1+6>>*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,<MAR <31.-6>> ;First possible last Sunday in March
|
||||
CAIL A,<OCT <31.-6>> ;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,<APR 1>
|
||||
CAIL A,<OCT 25.>
|
||||
CRDTST: CAIGE A,<MAR 7>
|
||||
CAIL A,<NOV 7>
|
||||
]
|
||||
;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
|
||||
Loading…
x
Reference in New Issue
Block a user