web-dev-qa-db-fra.com

le format date de "MMM jj, aaaa HH: mm: ss a" à "MM.dd

Je souhaite formater la date de "MMM jj, aaaa HH: mm: ss a" à "MM.dd". J'ai le code suivant

SimpleDateFormat ft = new SimpleDateFormat ("MMM dd, yyyy hh:mm:ss a");
t = ft.parse(date); //Date is Sep 16, 2015 10:34:23 AM and of type string.
ft.applyPattern("MM.dd"); 

mais je reçois une exception à t = ft.parse(date); 

S'il vous plaît aider

4
Nishant

Trois explications possibles:

  1. vos paramètres régionaux par défaut sont incompatibles avec la date d'entrée - par exemple. il ne peut pas comprendre Sep comme nom de mois
  2. quelque chose ne va pas avec la chaîne d'entrée, ou
  3. t est un type incorrect (par exemple, Java.sql.Date au lieu de Java.util.Date ou un autre type), ou n'est pas déclaré.

Vous devriez inclure les détails de l’exception dans votre question pour savoir de quoi il s’agit, mais voici un exemple concret utilisant essentiellement votre propre code, avec l’ajout d’une variable Locale.

SimpleDateFormat ft = new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a", Locale.US);
Java.util.Date t=ft.parse("Sep 16, 2015 10:34:23 AM");
ft.applyPattern("MM.dd");
System.out.println(ft.format(t));

sortie:

09.16
8
CupawnTae
SimpleDateFormat sdf = new SimpleDateFormat("MM.dd", Locale.US);
System.out.println("Formatted Date: " + sdf.format(date));
1
rguerra