私はデータベースに日付を保存しました。最初に現在の日付を取得し、次にそれを文字列に変換してからデータベースに保存します。正常に動作しています。
次に、データを取得してListViewに表示します。そのために、次のようにしました。
// get the string value of date
String dateString = c.getString(c.getColumnIndex(CallHistoryDataBase.colDate));
// format according to system's current format
java.text.DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(getApplicationContext());
textViewDateTime.setText(dateFormat.format(new Date(dateString)));
日付を「dd/MM / yyyy」形式で保存し、後でシステムの形式を「yyyy / MM /dd」形式 で表示されるリストの「yyyy/MM / dd」に変更した場合のように、正常に機能しています。
ただし、2012/04/14の日付の2014/04/14が表示される場合があります。データベースとの間でデータを保存および取得するときに、問題がないことを確認しました。
手がかりがつかない。ハードコードはなく、14の数字もありません。
任意の提案...別の解決策も受け入れられます。