Чтобы сохранить объект Calendar в базе данных SQLite, я обнаружил, что самый простой способ - преобразовать объект Calendar в строку и сохранить его в базе данных в виде текста.Как преобразовать String в объект 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
сейчас , как я могу получить ДЕНЬ, МЕСЯЦ и ГОД из сохраненной строки?
Я читал о том, как преобразовать строку даты в календарном объект здесь: How to convert a date String to a Date or Calendar object?
но моя строка не просто строка даты. Он содержит много других деталей.
Каков наилучший способ продвижения вперед?
Почему вы храните календарь, а не объект Date? – user1516873
См. Http://stackoverflow.com/questions/10392870/gregoriancalendar-and-sqlite для получения лучших решений. – CommonsWare