Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.224.0.25] |
|
Сообщ.
#1
,
|
|
|
Из запроса вида
Cursor c = db.query("TABLE", null, null, null, null, null, "col DESC"); Получаю данные. Строка, в которой хранится дата имеет теп int и туда записывается время в миллисекундах. Когда пытаюсь преобразовать миилисекунды классом Calendar, получаю ошибку конвертации. Calendar myDate = Calendar.getInstance(); myDate.setTimeInMillis(Long.valueOf(c.getString(c.getColumnIndex("mydate"))); При этом в отладчике вижу, что из базы получается строка непонятного формата (скриншот). Прикреплённая картинка
|
Сообщ.
#2
,
|
|
|
Ну, на то что там тип int как-то не похоже, скорее всего кто-то писал в таблицу используя GregorianCalendar.toString().
Способов записи и чтения даты в SQLite куча, поэтому надо определиться, как объявлена колонка и как она записывается. Если записывается как int, то и читать с помощью getInt(). |
Сообщ.
#3
,
|
|
|
Да, всё правильно. Произошло автоматическое преобразование возвращённого экземпляра GregorianCalendar в строку. Ох уж это неявное приведение типов )
|
Сообщ.
#4
,
|
|
|
А где ж оно неявное, если читаешь как getString?
|