У меня возникла странная проблема с использованием метода SimpleDateFormat
в Android. Иногда (очень редко) format
метод возвращает плохую форматированную дату. Вот код и ниже результата. Можете ли вы объяснить мне причину этого?Android SimpleDateFormat сходит с ума
Вот код:
public class MyObject{
protected Timestamp detectionDate;
public String getDetectionDateAsString() {
String dateAsString = Constant.ISO_8601_TS_DF.format(detectionDate);
if(dateAsString.length()>19){
logger.warn("ERROR ON FORMAT DATE");
logger.warn("dateAsString:" + dateAsString);
logger.warn("detectionDate:" + detectionDate);
}
}
}
public class Constant {
public static final SimpleDateFormat ISO_8601_TS_DF =
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
}
Выход:
14:35:05.150 [AsyncTask #2] WARN i.m.t.d.o.OutcomesTableData - ERROR ON FORMAT DATE
14:35:05.150 [AsyncTask #2] WARN i.m.t.d.o.OutcomesTableData - dateAsString:2016-0007-0001 0000:00:0000
14:35:05.151 [AsyncTask #2] WARN i.m.t.d.o.OutcomesTableData - detectionDate:2016-07-03 12:34:27.194
Спасибо
Благодарим за быстрый ответ. Я попробую ваше решение. Во всяком случае, я не понял, потому что он терпит неудачу только иногда (примерно 1 раз каждые 1000). – user2795913