You can use `JLink` (as already mentioned while I read JavaDoc). Searching StackOverflow brings up this highly voted answer [Converting ISO8601-compliant String to java.util.Date](http://stackoverflow.com/a/2202300/1078614) I don't know whether it covers the whole standard but this works out of the box. If this is not sufficient, you can use an equivalent piece of code written for [Joda Time](http://johannburkard.de/blog/programming/java/date-time-parsing-formatting-joda-time.html) Needs["JLink`"] ParseDateString[date_String] := JavaBlock[ InstallJava[]; LoadJavaClass["javax.xml.bind.DatatypeConverter", StaticsVisible -> True]; DateList[ javax`xml`bind`DatatypeConverter`parseDateTime[date]@getTime[]@toString[] ] ] This uses the `DataypeConverter` class which is available without in standard Java 6. It converts it into a standard date string which can then be used with `DateList`. ParseDateString["2010-01-01T12:00:00Z"] (* {2010, 1, 1, 13, 0, 0.} *)