Fix incorrect UTC offsets in CPTimeZone abbreviation table

* Correct timeDifferenceFromUTC values for MDT, WAT, NZDT, NZST, and WIT.

* Update MSK to the current constant UTC+3 offset. Russia abolished Daylight Saving Time in 2014.

* Leave MSD unchanged. Add an inline comment explaining that Moscow Summer Time no longer exists and assigning a new offset would fabricate data.

* Track future work to replace this static table with Intl-backed lookup from browsers’ internal values.

This future lookup will include a protocol seam for:
* runtimes without complete timezone data.
* developers who cannot tolerate non-current information from browser update latency or have other individual need.
This commit is contained in:
David Richardson committed 2026-08-28 13:59:05 -06:00
1 parent 0089785713
commit f3a04f23f8
1 file changed
+9 -7
+9 -7
View File
@@ -289,12 +289,14 @@ function _abbreviationForNameAndDate(tzName, date)
@"IST" : 330,
@"JST" : 540,
@"KST" : 540,
@"MDT" : -300,
@"MSD" : 240,
@"MSK" : 240,
@"MDT" : -360,
@"MSD" : 240, // Stale: Russia abolished DST in 2014. No current offset
// is correct for a distinct "Moscow Summer Time"; left
// unfixed rather than fabricated. See CPTimeZone redesign.
@"MSK" : 180,
@"MST" : -420,
@"NZDT" : 900,
@"NZST" : 900,
@"NZDT" : 780,
@"NZST" : 720,
@"PDT" : -420,
@"PET" : -300,
@"PHT" : 480,
@@ -302,10 +304,10 @@ function _abbreviationForNameAndDate(tzName, date)
@"PST" : -480,
@"SGT" : 480,
@"UTC" : 0,
@"WAT" : -540,
@"WAT" : 60,
@"WEST" : 60,
@"WET" : 0,
@"WIT" : 540
@"WIT" : 420
};
var englishLocalizedName = @{