web-dev-qa-db-fra.com

Convertir une chaîne en GregorianCalendar

Comment puis-je prendre une chaîne d'anniversaire d'entrée telle que 02 26 1991 et en faire un calendrier grégorien?

J'ai essayé de l'analyser d'abord, mais il continue de me donner un message d'erreur, donc je ne sais pas trop ce que je fais mal. J'ai également d'autres données d'entrée avant cette date. L'un est une autre chaîne et l'autre est une valeur double.

28
Kat

Utilisez SimpleDateFormat pour analyser la date, puis affectez-la à 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ée par:

Calendar cal = new GregorianCalendar();

mais je préfère la première version.

34
cletus

Utilisez un DateFormat comme indiqué 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 une analyse stricte.

1
objects