2017-04-06 1 views
1

Je chaîne dans ce format: 2017-04-06T09: 29: 12.225Zchaîne Convertir avec milliseconde et le fuseau horaire à ce jour

J'ai besoin au format de la date, j'ai essayé avec:

private Date convertStringToDate(String dateString) { 
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sssZ"); 
    Date convertedDate = new Date(); 
    try { 
     convertedDate = dateFormat.parse(dateString); 
    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    return convertedDate; 
} 

Mais il montre l'erreur Unparsable?

Répondre

0

Essayez

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); 
+0

S'il vous plaît mettre la réponse si elle était utile – Pehlaj

1

Les millisecondes doivent être S majuscule et Z doivent être entre guillemets simples:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); 
2

millisecondes devrait essayer le capital S:

SimpleDateFormat dateFormat = new SimpleDateFormat ("aaaa-MM-jj'H'HH: mm: ss.SSSZ");

1

Depuis Java 7, vous pouvez utiliser

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX"); 

Les X représente la fois ISO 8601 zone, qui peut être tout simplement Z (le fuseau horaire zéro) ou quelque chose comme -08, -0800 ou -08:00. Voir aussi le tableau donné dans le javadoc of SimpleDateFormat.