Преобразование объекта 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()); 

4 Solutions collect form web for “Преобразование объекта Date в объект календаря”

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

 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; } 
  • android.app.Application не может быть создан из-за NullPointerException
  • Можно ли запрограммировать NullPointerException?
  • getActionBar () возвращает Null (AppCompat-v7 21)
  • Избегание! = Null
  • Java 8 NullPointerException в Collectors.toMap
  • NullPointerException в Java без StackTrace
  • Что такое исключение NullPointerException и как его исправить?
  • Null pointer Exception - findViewById ()
  • Исключает ли Null Pointer исключение кода?
  • Какую @NotNull Java-аннотацию следует использовать?
  • Почему мое Spring @Autowired поле null?
  • Давайте будем гением компьютера.