Swift how to convert string to date fraction seconds

i have a string want to convert to date, but below code,

that str

print out show Optional(2016-04-25 17:00:16 +0000)

I want to know how to show exact what it is like Optional(2016-04-26T03:00:16.047)

var str = "2016-04-26T03:00:16.047"

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS"//this your string date format
// dateFormatter.timeZone = NSTimeZone(name: "UTC")
let date = dateFormatter.dateFromString(str)

print(date)   //Optional(2016-04-25 17:00:16 +0000)

What is it that you are trying to do?

+0000 is an offset to UTC time

If the time is in UTC, add a Z directly after the time without a space. Z is the zone designator for the zero UTC offset. “09:30 UTC” is therefore represented as “09:30Z” or “0930Z”. “14:45:15 UTC” would be “14:45:15Z” or “144515Z”.
The offset from UTC is appended to the time in the same way that ‘Z’ was above, in the form ±[hh]:[mm], ±[hh][mm], or ±[hh]. So if the time being described is one hour ahead of UTC (such as the time in Berlin during the winter), the zone designator would be “+01:00”, “+0100”, or simply “+01”.
An offset of zero, in addition to having the special representation “Z”, can also be stated numerically as “+00:00”, “+0000”, or “+00”.

SOURCE:https://en.wikipedia.org/wiki/ISO_8601