I have found an issue with Date.parseDate where it parses an ISO-8601 string incorrectly. This specifically happens when the following is true:
1.) The ISO 8601 string is in a time zone that is NOT the browser's time zone
2.) The ISO 8601 string is a time just before spring daylight savings (e.g. 1:30 am standard time)
3.) The ISO 8601 string is in a time zone that is "earlier" than the browsers (e.g. browser is in central, and ISO string is in pacific, earlier here means "less than" as far as offset is concerned).
This can very easily be illustrated with either Firefox or Chrome, comparing the Date() constructor to parseDate:
Here my browser is in central time zone
Sun Mar 14 2010 03:30:00 GMT-0500 (Central Daylight Time)
Sun Mar 14 2010 04:30:00 GMT-0500 (Central Daylight Time)
Note that the time is wrong when using Date.parseDate()
The millisecond equivalent for "2010-03-14T01:30:00-08:00" is 1268559000000, but with using Date.parseDate() you end up with:
Which is a difference of 3,600,000 milliseconds, or 1 hour (as evident with the other example of 3:30 being off an hour from 4:30).
Also it seems that this is a problem in Both ExtJS 3.3.1 and ExtJS 4.0.0