Konwersja String-Date z nanosekundami

Od jakiegoś czasu zmagam się z tym fragmentem kodu dla aplikacji na Androida i nie potrafię tego zrozumieć. Przeczytałem i wypróbowałem każde rozwiązanie, które znalazłem na stackoverflow i innych miejscach, ale wciąż nie mam szczęścia.

To, co chcę zrobić, to mieć funkcję do konwersji łańcucha, jak"17.08.2012 05:35:19:7600000" do daty UTC i funkcji, która przyjmujeUTC date i konwertuje go na taki ciąg.

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();
}

To skutkuje :Today = 17.08.2012 07:41:59:0000000 17 Aug 2012 04:41:59 GMT które są złe.

Próbowałem ustawieniaSDF's timezone doUTC, brak szczęścia.
Kolejna rzecz, którą zauważyłem: jeśli to zrobiędf.setLenient(false);
To daje mi :java.text.ParseException: Unparseable date: "17.08.2012 05:35:19:7600000" .

Gdyby ktoś mógł mi podać jakieś wyjaśnienia / przykładowy kod, byłbym bardzo wdzięczny. Z góry dziękuję

questionAnswers(3)

yourAnswerToTheQuestion