I believe NSDates are absolute points in time and are not executed using daylight saving time or time zones. For example, now itβs exactly the same time in New York and Beijing, although due to time zones it can be 10 in the morning in New York and 10 in the evening in Beijing. A minute after switching from DST to ST, it will be a minute later, although earlier your watch could read 59 minutes earlier. Therefore, I think that if you create dates using [NSDate date], you will always get the correct time interval.
You can check it by setting the date of your device just before switching to (or off) the DST and registering the interval using the start date before the switch and the end date after the switch.
source share