138 votes

comment convertir une chaîne java en objet Date

j'ai une chaîne

 String startDate = "06/27/2007";

maintenant, je dois obtenir l'objet Date. Mon DateObject doit avoir la même valeur que startDate.

je fais comme ça

 DateFormat df = new SimpleDateFormat("mm/dd/yyyy");
Date startDate = df.parse(startDate);

Mais la sortie est au format

27 janvier 00:06:00 PST 2007.

188voto

citizen conn Points 8905

En gros, vous avez effectivement converti votre date dans un format de chaîne en un objet de date. Si vous l'imprimez à ce stade, vous obtiendrez la sortie de formatage de date standard. Afin de le formater après cela, vous devez ensuite le reconvertir en un objet date avec un format spécifié (déjà spécifié précédemment)

 String startDateString = "06/27/2007";
DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); 
Date startDate;
try {
    startDate = df.parse(startDateString);
    String newDateString = df.format(startDate);
    System.out.println(newDateString);
} catch (ParseException e) {
    e.printStackTrace();
}

9voto

mihsathe Points 1687
    try 
    {  
      String datestr="06/27/2007";
      DateFormat formatter; 
      Date date; 
      formatter = new SimpleDateFormat("MM/dd/yyyy");
      date = (Date)formatter.parse(datestr);  
    } 
    catch (Exception e)
    {}

le mois est en MM, les minutes en mm.

5voto

readikus Points 95

La version concise :

 String dateStr = "06/27/2007";
DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
Date startDate = (Date)formatter.parse(dateStr);  

Ajoutez un bloc try/catch pour une ParseException pour vous assurer que le format est une date valide.

0voto

rinjan Points 11

n'utilisez jamais le formateur de date simple. que se passera-t-il dans les cas suivants 31/01/2012 -- février n'a pas 31 jours ? 12-1-2011 -- les mois sont définis de 0-11 . 12 ???

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X