You can get the results you want by using d3.time.format.iso
as your date formatting function, and d3.time.format.iso.parse
as your parsing function.
These use the built in Javascript ISO parsing functions, and so can handle the standard output from Javascript Date functions (including long timezone names).
In contrast, most d3 date parsing functions are very strict -- the input data must match the specified format exactly or else it returns null. And since the d3 format specifiers have no way of indicating long timezone names or arbitrary strings, your date format was never matching the string version of your Dates.