我有日期解析問題。在我的應用程序中,我從服務器中檢索新評論。檢索的紀元長時間戳是正確的,但是當我嘗試將它們保存到sqlite數據庫時,有時最後的註釋會解析錯誤的日期。Android SimpleDateFormat解析錯誤
的SimpleDateFormat:
this.dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
this.dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
解析:
Log.v("GET COMMENT TIME A", ""+cu.getString(cu.getColumnIndex("creation_time")));
try {
Log.v("GET COMMENT TIME B",""+dateFormat.parse(cu.getString(cu.getColumnIndex("creation_time"))));
c.setCreation_time(dateFormat.parse(cu.getString(cu.getColumnIndex("creation_time"))));
Log.v("GET COMMENT TIME C", ""+c.getCreation_time());
} catch (ParseException e) {}
的logcat: 先前的評論解析GOOD
01-13 13:01:58.009: V/GET COMMENT TIME A(10536): 2013-01-13 12:01:37
01-13 13:01:58.017: V/GET COMMENT TIME B(10536): Sun Jan 13 13:01:37 CET 2013
01-13 13:01:58.017: V/GET COMMENT TIME C(10536): Sun Jan 13 13:01:37 CET 2013
的logcat: 最後的評論解析錯誤的:
01-13 13:01:58.064: V/GET COMMENT TIME A(10536): 2013-01-13 12:01:41
01-13 13:01:58.064: V/GET COMMENT TIME B(10536): Sun Jan 13 13:01:41 CET 2013
01-13 13:01:58.064: V/GET COMMENT TIME C(10536): Tue Jan 01 13:01:41 CET 2013
所以,當你看到logcat的GET註釋時間B和C,你可以看到,
dateFormat.parse(cu.getString(cu.getColumnIndex("creation_time")))
第一返回修正解析時間與1號線進一步將其解析另一個錯誤的時間?或者爲什麼getCreation_time()有時會返回錯誤的解析日期?
編輯: 評論只是有吸氣ANS制定者
public Date getCreation_time() {
return creation_time;
}
public void setCreation_time(Date creationTime) {
this.creation_time = creationTime;
}
奇怪的行爲,但你可以通過隔離讓你創建時間的getter/setter手柄'String's(不'Date's)的問題,那麼只需將它設置成'cu.getColumnIndex( 「CREATION_TIME」)'讓你的dateFormat解析存儲的字符串? – saschoar