Поскольку вы указали, что NullPointerException
выдается в строке 2, мы можем сделать вывод, что вы передаете null
для аргумента currentDate
. currentDate.getTime()
- единственная часть строки 2, которая может вызвать NullPointerException
.
Обновление:
Я просто написал следующий Test.java
код, чтобы понять, в чем ваша проблема:
import java.util.*;
import java.text.*;
class Test {
public static void main(String[] args) {
Date thisDate = null;
try {
thisDate = (new SimpleDateFormat("MM/dd/yyyy")).parse(Calendar.getInstance().getTime().toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
Когда я запускаю его, я получаю:
java.text.ParseException: Unparseable date: "Sat Aug 20 12:42:30 PDT 2011"
at java.text.DateFormat.parse(DateFormat.java:337)
at Test.main(Test.java:8)
Итак, проблема в том, что ваш SimpleDateFormat.parse()
ожидает формат месяца / дня / года, но метод toString()
класса Date
дает вам нечто иное.
Кажется, что все, что вы действительно хотите, это текущая дата. Зачем его форматировать? Просто обрежьте это до конца и покончите с этим:
Date thisDate = new Date(); // this gives you the current date