Question: I am using `NSDate` to measure execution of program. I create instance of `NSDate` at start and then at end create new instance endDate and call:

```
[startDate timeIntervalSinceDate: endDate]

```

This works fine, but I am interested what will happen if program starts executing before DST change, and finishes after. Will startDate be percived to be in future, and timeInterval method would return negative value?

Answer: 
It would seem that what Darren has implied is true. NSDate is a reference to an interval from an absolute reference date, January 1, 2001 00:00 GMT. So the class method `[NSDate date]` will return a representation of that interval. So the date will not be percived to be in the future.
This is not a problem related to iPhone only. I got a link which talks about this in terms of server and client time. The only workaround for this problem is to select a time zone for both the Maximo application server and the GUI client that does not use Daylight Savings Time.

[Reference](http://www-01.ibm.com/support/docview.wss?rs=0&context=SSKTXT&q1=patterns&uid=swg21385323&loc=en_US&cs=utf-8&lang=all&wv=1)

Hope this clears your doubt