Conversão String-Date com nanossegundos

Eu tenho lutado por um tempo com este pedaço de código para um aplicativo Android e não consigo pegar o jeito dele. Eu li e tentei todas as soluções que encontrei no stackoverflow e em outros lugares, mas ainda sem sorte.

O que eu quero fazer é ter uma função para converter uma string como"17.08.2012 05:35:19:7600000" a uma data UTC e uma função que leva umUTC date e converte em uma string como essa.

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

Isto resulta em :Today = 17.08.2012 07:41:59:0000000 17 Aug 2012 04:41:59 GMT Ambos estão errados.

Eu tentei definirSDF's timezone paraUTCsem sorte.
Outra coisa que notei: se eu fizerdf.setLenient(false);
Isso me dá:java.text.ParseException: Unparseable date: "17.08.2012 05:35:19:7600000" .

Se alguém puder me fornecer algumas explicações / código de exemplo, eu ficaria muito grato. desde já, obrigado

questionAnswers(3)

yourAnswerToTheQuestion