Yeah, I was thinking other intervals could have issues too, e.g. a DST change occurring at 00:00:00 on New Year’s Day!  So in theory, using setFullYear would not be sufficient, because it would “roll back” to the previous year because 00:00:00 is actually 23:00:00 in local time (in the previous year).