Я работаю с кодом SQLLite, который хранит дату как целое число (я принимаю за это столько дней с момента создания). Я хотел был бы преобразовать этот int к дате но это ...Преобразование SQLLite Date Integer в Java Дата
public int getDate(){
...
Date d = new Date(m.getDate());
Кажется, чтобы дать мне неправильное значение.
Любые идеи?
UPDATE
Задача 1.)
Если кто-то имеет тот же вопрос, проблема заключается в SQLLite Integer это не совсем Integer. Если я позвоню ...
item.setDate(rs.getInt("date"));
Я получаю отрицательное число, по-видимому, это происходит потому, что значение в БД больше, чем максимальное значение для Java междунар. Как только я перейду на ...
item.setDate(rs.getLong("date"));
Значение соответствует ожидаемому. Это несмотря на значения таблицы, созданные как INTEGER.
Теперь я получаю значение «1383769720540277», который совпадает с БД, однако, ...
Date d = new Date(m.getDate()*1000L);
дает мне дату 886-10-29, которая также не выглядит прямо
Update 2
Согласно this инструмента он должен быть в миллисекундах * 1000. Я работаю на способе справиться с этим, так как .001 двойным и не может быть использован для создания долго без округления.
Вы можете оставить целое значение образца SQLLite и дату вы ожидаете? java.util.Date ожидает миллисекунд с 1/1/70, а не дней. – kielni