Can anyone explain to me what\'s wrong in this code:
System.out.println(new SimpleDateFormat(\"yyyy-MM-dd\'T\'HH:mm:ss.sss\'Z\'\").parse(\"2015-04-22T19:54:1
Use capital SSS instead of sss, as s is interpreted as seconds in SimpleDateFormat. So change your code to
System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse("2015-04-22T19:54:11.827Z"));
System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse("2015-04-22T19:54:11.0Z"));
This shall do the job for you. And in order to optimize your code use this
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
System.out.println(sdf.parse("2015-04-22T19:54:11.827Z"));
System.out.println(sdf.parse("2015-04-22T19:54:11.0Z"));
No need to create objects again and again. Just create once and use that to parse.