Is DateString supposed to be truncating seconds?

If I configure  to format dates as ISO dates with

$DateStringFormat := {"Year", "-", "Month", "-", "Day", "T", ":", "Hour", ":", "Minute", ":", "SecondExact", If[$TimeZone == 0, "Z", "UTC" <> ToString[\$TimeZone]]}


I get truncated seconds, rather than rounded seconds

{2012, 10, 12, 21, 32, 22.5359} // DateString
2012-10-12T:21:32:22.535UTC-5.


This seems wrong. The result should either be

2012-10-12T:21:32:22.5359UTC-5.


or

2012-10-12T:21:32:22.536UTC-5.


Is it a bug, or am I misunderstanding "SecondExact" or DateString?

-
Looks like it only supports a maximum of three decimal places in "Millisecond". –  Eli Lansey Dec 4 '12 at 20:34