SimpleDateFormat ne peut pas analyser les millisecondes avec plus de 4 chiffres

Je veux analyser un timestamp, comme ce - "2016-03-16 01:14:21.6739". Mais quand j'utilise le SimpleDateFormat à l'analyser, je trouve qu'elle donne une mauvaise valeur analysée. Il secrètes 6739 millisecondes à 6 secondes avec 739 millseconds gauche. Il convertis à la date de ce format - Wed Mar 16 01:14:27 PDT 2016. Pourquoi la secondes partie a changé à partir de 21 secondes à 27 secondes(plus de 6 secondes?). Voici mon extrait de code:

final SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSS");
String parsedate="2016-03-16 01:14:21.6739";
try {
    Date outputdate = sf.parse(parsedate);
    String newdate = outputdate.toString();  //==output date is: Wed Mar 16 01:14:27 PDT 2016 
    System.out.println(newdate);
} catch (ParseException e) {
    //TODO Auto-generated catch block
    e.printStackTrace();
}
Rappelez-vous que une milliseconde est de 0,001 seconde. Donc à quatre chiffres de l'ordre de la milliseconde plus de 1 sec.
oui, a changé à la sortie de la date du présent code:String newdate = sf.format(outputdate); mais il est encore de sortie: 2016-03-16 01:14:27.0739 ????

OriginalL'auteur Alter Hu | 2016-03-17