title: String-Date conversion with nanoseconds
body: <p>I've been struggling for a while with this piece of code for an Android app and I can't get the hang of it. I've read and tried every solution I found on stackoverflow and other places, but still no luck. </p>
  
  <p>What I want to do is have a function to convert a string like <code>"17.08.2012 05:35:19:7600000"</code> to a UTC date and a function that takes an <code>UTC date</code> and converts it to a string like that. </p>
  
  <pre><code>String value = "17.08.2012 05:35:19:7600000";
  DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss:SSSSSSS");
  try
  {
    Date today = df.parse(value);
    System.out.println("Today = " + df.format(today) + " " + today.toGMTString());
  } 
  catch (ParseException e)
  {
    e.printStackTrace();
  }
  </code></pre>
  
  <p>This results in : <code>Today = 17.08.2012 07:41:59:0000000 17 Aug 2012 04:41:59 GMT</code> which are both wrong. </p>
  
  <p>I tried setting <code>SDF's timezone</code> to <code>UTC</code>, no luck.<br>
  Another thing that I noticed:   if I do <code>df.setLenient(false);</code><br>
  It gives me : <code>java.text.ParseException: Unparseable date: "17.08.2012 05:35:19:7600000"</code> . </p>
  
  <p>If anyone can provide me with some explanations / sample code, I would be very grateful. Thanks in advance</p>