Joda-Time
Joda-Time provides built-in formatters for a variety of such ISO 8601 formats. So you need not even bother with creating that format string.
See this class:
http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html
Update
I learned you don't even need the formatter with Joda-Time 2.3.
Your string is almost in ISO 8601 format. Replace those underscores with hyphens.
The constructor of DateTime accepts a string in ISO 8601 format.
// © 2013 Basil Bourque. This source code may be used freely forever by anyone taking full responsibility for doing so.
// import org.joda.time.*;
// import org.joda.time.format.*;
DateTime dateTime = new DateTime( "2001-02-03T04:05:06", DateTimeZone.UTC );
System.out.println( "dateTime: " + dateTime.toString() );
When run…
dateTime: 2001-02-03T04:05:06.000Z
Time Zones
By the way, your question fails to address the issue of time zones. My example code assumes you meant UTC/GMT (no time zone offset). If you meant otherwise, you should say so. Date-time work should always be explicit about time zones rather than rely on defaults.