2010-12-10 28 views
0

Je reçois cette exception lorsque j'essaie d'analyser une date que je reçois d'une base de données SQL, la date est une date sur le sql et je recive comme une chaîne avec JSON, et voyant le excepcion je pense que la chaîne i recived est comme ceci: 2010-12-10 17:18:3600java.text.ParseException: Date indisponible: 2010-12-10 17: 18: 3600

c'est l'exception que je reçois:

java.text.ParseException: Unparseable date: 2010-12-10 17:18:3600 

i utiliser le code suivant pour analyser la date (je l'obtiens de google) mais il obtient l'exception

Comment puis-je modifier ce code pour que l'analyse fonctionne ???? s'il vous plaît me Guive la réponse avec le code, la date parsing et l'utilisation de SimpleDateFormat il est très difficile pour moi

public void setPositiontime(String positiondate) 
    { 
      SimpleDateFormat FORMATTER = new SimpleDateFormat("d MMM yyyy HH:mm"); 
      // pad the date if necessary 
      while (!positiondate.endsWith("00")){ 
      positiondate += "0"; 
      } 
      try { 
       this.positiondate = FORMATTER.parse(positiondate.trim()); 
      } catch (ParseException e) { 
       throw new RuntimeException(e); 
      } 

je reçois l'erreur sur cette ligne: this.positiondate = FORMATTER.parse(positiondate.trim());

+0

Comment "17: 18: 3600" est-il supposé être compris? Est-ce un format standard? –

+0

36 sont les secondes, et le 00 suivant sont ajoutés par le temps, mais je ne sais pas pourquoi, ce code est copié de google – NullPointerException

Répondre

2

Essayez cette SimpleDateFormat FORMATTER = new SimpleDateFormat ("yyyy -MM-dd HH: mm: SSSS "); Il s'agit simplement d'une représentation de ce que signifie chaque chiffre du format: Années-mois-date heure: min: milli

+0

mais je ne veux pas utiliser ce format .... Je dois utiliser ce format exact: d MMM aaaa HH: mm – NullPointerException

+0

je dois l'utiliser, c'est une exigence de l'application, d'utiliser ce format exact, alors votre solution n'est pas valide pour moi :( – NullPointerException

+0

Mais vous ne pouvez pas analyser la date 2010-12-10 17 : 18: 3600 en utilisant l'analyseur "d MMM aaaa HH: mm" l'un d'entre eux devra changer – Swind