2010-09-23 5 views
5

J'ai une date/valeur de temps 2010-07-26T11: 37: 52Z, maintenant je veux à ce jour 26-jul-2010 (dd-mon-aaaa) Format , Comment fait-on ça?conversion de format de date en utilisant Java

+0

Peut-on avoir du code? – fredley

+1

Méthode moderne: 'OffsetDateTime.parse (" 2010-07-26T11: 37: 52Z "). Format (DateTimeFormatter.ofPattern (" dd-MMM-uuuu "))'. –

Répondre

24

Construire deux objets SimpleDateFormat. La première fois que vous analysez() la valeur de dans un objet Date, la seconde que vous utilisez pour retourner l'objet Date dans une chaîne, par exemple.

try { 
    DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); 
    DateFormat df2 = new SimpleDateFormat("dd-MMM-yyyy"); 
    return df2.format(df1.parse(input)); 
} 
catch (ParseException e) { 
    return null; 
} 

L'analyse peut lancer une exception ParseException, ce qui vous obligerait à l'intercepter.

+0

son fonctionnement parfaitement .... vraiment reconnaissant à vous pour votre réponse rapide, a fait ma vie –

+0

c'est vraiment incorrect, mais il peut vous donner le résultat que vous voulez. 'Z' signifie offset zéro, mais vous analysez la date-heure dans le fuseau horaire de votre JVM, en donnant une heure incorrecte. Si vous n'utilisez pas l'heure de la journée, vous obtiendrez dans la plupart des cas la sortie désirée, en fonction de vos besoins exacts. –