Преобразуйте строку в GregorianCalendar
-
22-09-2019 - |
Вопрос
Как мне взять входную строку дня рождения, такую как 02 26 1991, и преобразовать ее в григорианский календарь?
Сначала я попытался разобрать его, но он продолжает выдавать мне сообщение об ошибке, так что я не совсем уверен, что я делаю не так.У меня также есть другие входные данные до этой даты.Один - это другая строка, а другой - двойное значение.
Решение
Использование 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();
но я предпочитаю первую версию.
Другие советы
Используйте формат даты, как показано на рисунке здесь:
Пример:
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) для принудительного строгого синтаксического анализа.