Question

Plus tôt j'ai posté la question suivante: Comment puis-je convertir cette date en Java?

Mais maintenant, je voudrais savoir comment je peux convertir cette chaîne en date / heure.

2010-03-15T16:34:46Z

Par exemple: 03/15/10

MISE À JOUR:

String pattern = "MM/dd/yy 'at' HH:mm";
                Date date = new Date();
                try {
                    date = new SimpleDateFormat(pattern).parse(q.getUpdated_at());
                } catch (ParseException e) {
                    e.printStackTrace();
                }
                dateText.setText(new SimpleDateFormat("MM/dd/yy 'at' hh:mma").format(date));

Donne-moi un résultat comme:

Mon Mar 15 16:34:50 MST 2010

Comment ça puis-je formater être

03/15/10 at 4:34PM

Était-ce utile?

La solution

En un mot, vous voulez convertir une date dans string format à une date dans une autre chaîne format . Vous avez:

2010-03-15T16:34:46Z

et que vous voulez

03/15/10 at 4:34PM

Vous ne voulez pas finir en utilisant java.util.Date objet que vous avez initialement sous-entendu dans votre question. Vous ne voulez pas utiliser son toString() depuis que le rendement d'un format fixe comme DÉFINIES dans son javadoc.

La réponse de Bozho est toujours valable. Utilisez java.text.SimpleDateFormat . Tout d'abord, vous devez parse la date au format de chaîne dans un objet Date afin que vous puissiez format nouveau dans un autre format de chaîne.

// First parse string in pattern "yyyy-MM-dd'T'HH:mm:ss'Z'" to date object.
String dateString1 = "2010-03-15T16:34:46Z";
Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(dateString1);

// Then format date object to string in pattern "MM/dd/yy 'at' h:mma".
String dateString2 = new SimpleDateFormat("MM/dd/yy 'at' h:mma").format(date);
System.out.println(dateString2); // 03/15/10 at 4:34PM
scroll top