Because Daylight Savings Time is heavily reliant on TimeZones (some areas don't practice DST, some move clocks 1 hour, some 2 etc) your time variables are going to have to account for location as well.
As such, you might have to have a look at the DateTimeZone class
DateTimeZone