Convertir une chaîne à un GregorianCalendar
-
22-09-2019 - |
Question
Comment un je prends une chaîne d'anniversaire d'entrée tel que 02 26 1991 et d'en faire un calendrier grégorien?
J'ai essayé l'analyser d'abord, mais il continue à me donner un message d'erreur, donc je ne suis pas tout à fait sûr de ce que je fais mal. J'ai également d'autres données d'entrée avant cette date. L'une est une autre chaîne et l'autre est une valeur double.
La solution
Utilisez SimpleDateFormat
pour analyser la date puis l'affecter à un Calendar
.
DateFormat df = new SimpleDateFormat("dd MM yyyy");
Date date = df.parse("02 26 1991");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
La troisième ligne pourrait être remplacé par:
Calendar cal = new GregorianCalendar();
mais je préfère la première version.
Autres conseils
Utilisez un DateFormat comme le montre ici :
Exemple:
DateFormat dateFormat = new SimpleDateFormat("hh:mm dd/MM/yy");
dateFormat.setLenient(false);
Date d = dateFormat.parse("06:23 01/05/06");
Utilisez la méthode parse () de la classe SimpleDateFormat. Vous pouvez utiliser setLenient (false) pour forcer l'analyse syntaxique stricte.