web-dev-qa-db-fra.com

Comment analyser 2013-03-13T20: 59: 31 + 0000 chaîne de date à date

Comment analyser cette chaîne de date 2013-03-13T20: 59: 31 + 0000 in Objet Date?

J'ai essayé de cette façon mais ne fonctionne pas.

DateFormat df = new SimpleDateFormat("YYYY-MM-DDThh:mm:ssTZD");
Date result =  df.parse(time);
13
Haris D.

DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");

L'année est minuscule y. Tous les caractères présents dans l'entrée qui ne sont pas liés à la date (comme le 'T' dans 2013-03-13T20:59:31+0000 doivent être cités dans ''.

Pour une liste des lettres de modèle définies, voir le documentation

Parse vérifie que la date donnée est dans le format que vous avez spécifié. Pour imprimer la date dans un format spécifique après vérification, voir ci-dessous:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");
Date result;
try {
    result = df.parse("2013-03-13T20:59:31+0000");
    System.out.println("date:"+result); //prints date in current locale
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
    System.out.println(sdf.format(result)); //prints date in the format sdf
}
29
msam

Essayer:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");

check http://developer.Android.com/reference/Java/text/SimpleDateFormat.html

en particulier:

                 yyyy-MM-dd 1969-12-31
                 yyyy-MM-dd 1970-01-01
           yyyy-MM-dd HH:mm 1969-12-31 16:00
           yyyy-MM-dd HH:mm 1970-01-01 00:00
          yyyy-MM-dd HH:mmZ 1969-12-31 16:00-0800
          yyyy-MM-dd HH:mmZ 1970-01-01 00:00+0000
   yyyy-MM-dd HH:mm:ss.SSSZ 1969-12-31 16:00:00.000-0800
   yyyy-MM-dd HH:mm:ss.SSSZ 1970-01-01 00:00:00.000+0000
 yyyy-MM-dd'T'HH:mm:ss.SSSZ 1969-12-31T16:00:00.000-0800
 yyyy-MM-dd'T'HH:mm:ss.SSSZ 1970-01-01T00:00:00.000+0000
25
Nermeen

S'il vous plaît essayez ceci:

SimpleDateFormat formatDate;
formatDate= new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
3
Stefan Beike

Merci à toutes les personnes qui ont essayé de m'aider ... (+1) pour tous .......

Cela fonctionne: "yyyy-MM-dd'T'HH:mm:ss"

1
Haris D.

Pour 2017-02-08 06:23:35 +0000 ce type de format Date, j'utilise le format ci-dessous: 

SimpleDateFormat formatDate;
formatDate= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ZZZ");

Cela fonctionne pour moi. Les autres réponses ne fonctionnent pas pour moi.

0
SANAT