Add to the above the U.S.A. Congress concept of screwing with the dates of implementation/duration and you can understand why so many commercial companies simply make the DST a configurable end-user option... even on the low-cost radio-controlled clocks in department stores.
Calculating Day-Of-Week and other such things are however somewhat simple. I have some routines in my GPS clock code:
http://www.hackster.io/rayburne
Ray