次のような文字列があります。この文字列を別の文字列と比較して、2 つの間に経過した日数を確認2013-08-18
するために使用できるものに変換する必要があります。Date
次のコードを思いついたのCalendar
は、他の変数が入っている型に入れるためです。ただし、理解できない一貫性のない結果が得られます。これが私のコードです:
String prefDate = prefs.getString("last_update", "2000-01-01");
System.err.println("oncreate prefDate: " + prefDate);
SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
Date date = new Date();
date = df.parse(prefDate);
Calendar last_update = Calendar.getInstance();
last_update.setTime(date);
Date verify = new Date(last_update.getTimeInMillis());
System.err.println("verify: " + verify);
出力は次のようになります。
oncreate prefDate: 2013-08-18
verify: Fri Jan 18 00:08:00 MST 2013
2 つの出力のフォーマットの違いについては特に気にしていません。しかし、明らかに間違っているのは、これらすべての結果が 8 か月ずれているということです。これは、私の誤差許容範囲を少し超えています。誰が私が欠けているものを見ることができますか?
ありがとう!