AndroidでSimpleDateFormat
メソッドを使用すると奇妙な問題に直面しています。場合によっては(非常にまれに)format
メソッドが不正な形式の日付を返します。ここにコードと出力の下にあります。あなたは私にその0の原因を説明できますか?Android SimpleDateFormat going crazy
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
Timestamp
なくなり、あなたに
迅速な回答ありがとうございます。私はあなたの解決策を試みます。とにかく私は理解できませんでした。なぜならそれは時々だけ失敗するからです(1000回ごとに約1回)。 – user2795913