Преобразование объекта Date в объект календаря

Поэтому я получаю атрибут даты от входящего объекта в форме:

Tue May 24 05:05:16 EDT 2011 

Я пишу простой вспомогательный метод, чтобы преобразовать его в метод календаря, я использовал следующий код:

  public static Calendar DateToCalendar(Date date ) { Calendar cal = null; try { DateFormat formatter = new SimpleDateFormat("yyyyMMdd"); date = (Date)formatter.parse(date.toString()); cal=Calendar.getInstance(); cal.setTime(date); } catch (ParseException e) { System.out.println("Exception :"+e); } return cal; } 

Чтобы имитировать входящий объект, я просто назначаю значения в используемом в настоящее время коде:

 private Date m_lastActivityDate = new Date(); 

Однако после того, как метод достигнет значения, я получаю нулевой указатель:

 date = (Date)formatter.parse(date.toString()); 

Вот ваш метод:

 public static Calendar toCalendar(Date date){ Calendar cal = Calendar.getInstance(); cal.setTime(date); return cal; } 

Все остальное, что вы делаете, является неправильным и ненужным.

BTW, соглашения о назначении Java предполагают, что имена методов начинаются с строчной буквы, поэтому это должно быть: dateToCalendar или toCalendar (как показано).


Хорошо, давайте поправим ваш код, не так ли?

 DateFormat formatter = new SimpleDateFormat("yyyyMMdd"); date = (Date)formatter.parse(date.toString()); 

DateFormat используется для преобразования строк в числа ( parse() ) или Dates to Strings ( format() ). Вы используете его для синтаксического анализа строкового представления даты на дату. Это может быть неправильно, не так ли?

Просто используйте Apache Commons

DateUtils.toCalendar (Дата)

это так просто … конвертируя дату в календарь следующим образом:

 Calendar cal=Calendar.getInstance(); DateFormat format=new SimpleDateFormat("yyyy/mm/dd"); format.format(date); cal=format.getCalendar(); 

Эта функция вернет объект даты sql из объекта даты java.

  public java.sql.Date convertJavaDateToSQL(Date d) { java.sql.Date d1= new java.sql.Date(d.getTime()); return d1; } 
  • Java: как эффективно проверить нулевые указатели
  • Атрибут checkbox seleniumа "checked"
  • Eclipse / Android: «Ошибки, выполняемые застройщиком Android Pre Compiler» по проекту ... »
  • Местоположение JavaFX не установлено сообщение об ошибке
  • Какую @NotNull Java-аннотацию следует использовать?
  • Почему нулевая ссылка печатается как "null"
  • Android - Как переопределить кнопку «Назад», чтобы она не закончила () мою активность?
  • вызов четкой и карты вместе бросает NPE в искровую библиотеку
  • Это плохая идея, если equals (null) вместо NullPointerException выбрасывает?
  • java.lang.NullPointerException: попытка вызвать виртуальный метод для ссылки на нулевой объект
  • Булевы, условные операторы и автобоксинг
  • Давайте будем гением компьютера.