Преобразование строки в GregorianCalendar

Как взять входную строку дня рождения, такую ​​как 02 26 1991, и преобразовать ее в григорианский календарь?

Сначала я попытался разобрать его, но он продолжает выдавать мне сообщение об ошибке, поэтому я не совсем уверен, что делаю неправильно. У меня также есть другие входные данные до этой даты. Одна — это другая строка, а одна — двойное значение.


person Kat    schedule 25.02.2010    source источник
comment
Возможный дубликат Как преобразовать дату Строка для объекта Date или Calendar?   -  person Twonky    schedule 12.04.2017


Ответы (2)


Используйте SimpleDateFormat, чтобы проанализировать дату, а затем назначить его на Calendar.

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

Третью строку можно заменить на:

Calendar cal = new GregorianCalendar();

но я предпочитаю первую версию.

person cletus    schedule 25.02.2010
comment
FYI: это не обрабатывает часовой пояс. - person johnstosh; 20.10.2015

Используйте DateFormat, как показано здесь:

Пример:

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

Используйте метод parse() класса SimpleDateFormat. Вы можете использовать setLenient(false) для принудительного синтаксического анализа.

person objects    schedule 25.02.2010