Я обнаружил, что самый простой способ сохранить объект календаря в базе данных SQLite — преобразовать объект календаря в строку и сохранить его в базе данных в виде текста.
Теперь проблема заключается в извлечении сохраненной даты из строки.
Как проанализировать строку, содержащую объект календаря, и установить для нее значение календаря?
Мой код:
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
Теперь, как мне получить ДЕНЬ, МЕСЯЦ и ГОД из сохраненной строки?
Я читал о том, как преобразовать строку даты в объект календаря здесь: Как преобразовать строку даты в объект даты или календаря?
но моя строка - это не просто строка даты. Он также содержит много других деталей.
Каков наилучший путь вперед?