我想得到兩個日期之間的年份差異。其中一個日期是當前日期和時間。另一個是用戶的出生日期。不能得到兩個日期之間的年份
我能得到用戶的出生日期正確,這樣的:1995-06-18T19:36:00.000Z
我得到這個錯誤:
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
這裏是我的功能:
public int calculateAge(String comingDate)
{
long userAge = 0;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT+03:00"));
Calendar cal = Calendar.getInstance();
try
{
Date date1 = sdf.parse(sdf.format(cal.getTime()));
Date date2 = sdf.parse(comingDate);
userAge = (date2.getTime() - date1.getTime())/86400000;
}
catch (ParseException e)
{
e.printStackTrace();
}
return (int)userAge;
}
NullPointerException發生在哪一行? – 2017-07-03 18:24:50
日期date2 = sdf.parse(comingDate); –
那麼可能'comingDate'爲null,你檢查過了嗎? – 2017-07-03 18:30:49