29

How do a I take an input birthday string such as 02 26 1991 and make it into a Gregorian Calendar?

I tried parsing it first but it keeps giving me an error message so I'm not quite sure what I'm doing wrong. I also have other input data before this date. One is another string and one is a double value.

Kat
  • 658
  • 2
  • 11
  • 23
  • Possible duplicate of [How to convert a date String to a Date or Calendar object?](http://stackoverflow.com/questions/43802/how-to-convert-a-date-string-to-a-date-or-calendar-object) – Twonky Apr 12 '17 at 07:32

2 Answers2

40

Use SimpleDateFormat to parse the date and then assign it to a Calendar.

DateFormat df = new SimpleDateFormat("dd MM yyyy");
Date date = df.parse("02 26 1991");
Calendar cal = Calendar.getInstance();
cal.setTime(date);

The third line could be replaced with:

Calendar cal = new GregorianCalendar();

but I prefer the first version.

cletus
  • 599,013
  • 161
  • 897
  • 938
1

Use a DateFormat as shown here:

Example:

DateFormat dateFormat = new SimpleDateFormat("hh:mm dd/MM/yy");
dateFormat.setLenient(false);
Date d = dateFormat.parse("06:23 01/05/06");

Use the parse() method of the SimpleDateFormat class. You can use setLenient(false) to force strict parsing.

kenorb
  • 137,499
  • 74
  • 643
  • 694
objects
  • 8,551
  • 4
  • 29
  • 38