Calendar オブジェクトを SQLite データベースに格納するには、Calendar オブジェクトを文字列に変換し、データベースにテキストとして格納するのが最も簡単な方法であることがわかりました。
さて、問題は文字列から格納された日付を抽出することにあります。
Calendar オブジェクトを含む文字列を解析して Calendar 値に設定するにはどうすればよいですか?
私のコードは次のとおりです。
String CREATE_DOCTORS_TABLE = "CREATE TABLE " + TABLE_DOCTORS + "("
+ KEY_ID_DOC + " INTEGER PRIMARY KEY," + KEY_DOCTOR_NAME + " TEXT,"
+ KEY_CLINIC_ADDRESS + " TEXT," + KEY_LAST_CHECKUP + " TEXT" + ");";
db.execSQL(CREATE_DOCTORS_TABLE);
KEY_LAST_CHECKUP には次のような値が含まれます。
java.util.GregorianCalendar[time=?,areFieldsSet=false,lenient=true,zone=Asia/Calcutta,firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2013,MONTH=4,WEEK_OF_YEAR=29,WEEK_OF_MONTH=3,DAY_OF_MONTH=16,DAY_OF_YEAR=198,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=19,SECOND=47,MILLISECOND=823,ZONE_OFFSET=19800000,DST_OFFSET=0]
そして、私はそれをこの方法でデータベースに保存しました:
values.put(KEY_LAST_CHECKUP, (doctor.getLastCheckUpDate().toString())); // last check up date
さて、格納された文字列から DAY、MONTH、YEAR を取得するにはどうすればよいでしょうか。
ここで、日付文字列をカレンダー オブジェクトに変換する方法について読みました: 日付文字列を日付またはカレンダー オブジェクトに変換する方法は?
しかし、私の文字列は単なる日付文字列ではありません。他の多くの詳細も含まれています。
最善の方法は何ですか?