Question

Mon entrée est une chaîne formatée comme suit :

3/4/2010 10:40:01 AM
3/4/2010 10:38:31 AM

Mon code est :

DateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy hh:mm:ss aa");
            try
            {
                Date today = dateFormat.parse(time);
                System.out.println("Date Time : " + today);

            }
            catch (ParseException e)
            {
                e.printStackTrace();
            }

le résultat est :

Sun Jan 03 10:38:31 AST 2010
Sun Jan 03 10:40:01 AST 2010

Je ne sais pas d'où vient le jour (Soleil) ?ou (AST) ?et pourquoi la date est fausse ?Je voulais juste garder le même format que l'original Chaîne date et en faire un Date objet.

J'utilise la version Mac de Netbeans 6.8.

Était-ce utile?

La solution

Si vous souhaitez imprimer la date dans le format original, utilisez la méthode de format :

System.out.println("Date Time : "+ dateFormat.format(today));

le format "bizarre" vient de l'implémentation toString de Date, le javadoc dit :

Convertit cet objet Date en une chaîne de la forme :

dow lun jj hh:mm:ss zzz aaaa

"I just wanted to keep the same format of the original String date and make it into a Date object."

L'objet Date est destiné à représenter un instant spécifique, vous ne pouvez pas conserver le format de la chaîne d'origine, c'est pourquoi nous avons la classe DateFormat.

Autres conseils

doit être MM, pas mm. Le mm minuscule est pendant quelques minutes, pas des mois.

DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss aa");

MM, non mm pendant des mois. Vous utilisez mm deux fois - et logiquement, ce sont les mêmes choses -. Minutes

La réponse est simple. Vous avez affiché la valeur Date.toString () d'aujourd'hui et non la version dateFormat prévue. ce que vous avez besoin est:

System.out.println("Date Time : " + dateFormat.format(today) );

Impression de la date à l'aide System.out.println () résultats dans le toString () procédé étant appelée sur l'objet de la date.

La chaîne de format utilisé dans toString () est ce qui cause le jour de la semaine et le fuseau horaire à apparaître dans la sortie.

est en dehors de l'erreur d'analyse syntaxique a par Duffy.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top