我想轉換strSqliteDate:= 2016-01-14 05 :34:50 PM到2016年1月14日。之後將所有時間我的應用程序是的引起:java.lang.NullPointerException:嘗試在Android中的空對象引用上調用虛擬方法'long java.util.Date.getTime()'
02-01 12:03:15.204 7619-7619/com.example.tazeen.classnkk W/System.err﹕ java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
02-01 12:03:15.204 7619-7619/com.example.tazeen.classnkk W/System.err﹕ at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1035)
02-01 12:03:15.204 7619-7619/com.example.tazeen.classnkk W/System.err﹕ at java.text.DateFormat.parse(DateFormat.java:577)
崩潰和獲取錯誤在該行date = dateFormat.parse(strSqliteDate);
,並在此line = calendar.setTime(date);
所致:顯示java.lang.NullPointerException:嘗試 ')長java.util.Date.getTime(' 上的空對象引用 在java.util.Calendar.setTime調用虛擬方法 (Calendar.java :1195)
以下是在DBhelper類日期轉換代碼
String strSqliteDate = cursor.getString(cursor.getColumnIndex("ActionDate"));
Log.e(" strSqliteDate "," = " + strSqliteDate);
String result = "";
Date date = null;
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try
{
date = dateFormat.parse(strSqliteDate);
}
catch(Exception e)
{
e.printStackTrace();
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
SimpleDateFormat printFormat = new SimpleDateFormat("yyyy-MM-dd");
result = printFormat.format(calendar.getTime());
Log.e("result = ","==========>"+result);
http://stackoverflow.com/a/3930115/5456493 – Abhishek