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