Используя запрос Sqlite, получите дату из сохраненных миллисекунд

Я использую базу данных sqlite в своем приложении, в котором я храню дату и время в миллисекундах. Теперь, используя запрос Sqlite, я пытаюсь получить это время от миллисекунд до даты в формате «гггг-мм-дд», но не получаю правильного результата.

Я хочу сделать это с помощью запроса Sqlite. Ваша помощь будет оценена по достоинству.


person Dharmendra    schedule 28.08.2012    source источник
comment
Можете ли вы опубликовать, какой у вас код и что он возвращает? Попробуйте: stackoverflow. ком/вопросы/4327483/   -  person RossC    schedule 28.08.2012
comment
stackoverflow.com/questions/8237193/   -  person Dinesh Anuruddha    schedule 28.08.2012
comment
Не пробовали с SimpleDateFormat классом?   -  person Praveenkumar    schedule 28.08.2012
comment
Вы можете использовать Strftime()   -  person Lalit Poptani    schedule 28.08.2012
comment
@RossC Большое спасибо. Ваша ссылка мне помогла. Метод datetime принимает аргумент в секундах, и я попытался установить миллисекунды. Спасибо еще раз :)   -  person Dharmendra    schedule 28.08.2012
comment
С удовольствием, это легко не заметить. Я все еще ошибаюсь в счете с нуля, по крайней мере, один раз за каждую программу, которую я пишу! В чем я не должен признаваться здесь!   -  person RossC    schedule 28.08.2012


Ответы (2)


Datetime ожидает эпоху, которая выражается в секундах, а вы передаете в миллисекундах. Преобразуйте в секунды и примените.

SELECT datetime(1346142933585/1000, 'unixepoch');

Можно проверить это из этой скрипки

person Sathyajith Bhat    schedule 29.08.2012
comment
+1 Я уверен, что это сработает. - person MKJParekh; 29.08.2012
comment
Это то, что я ищу. Большое спасибо. Только одна модификация заключается в том, что если нам нужно время в местном часовом поясе, используйте этот запрос SELECT datetime(1346142933585/1000, 'unixepoch', 'localtime'); - person Dharmendra; 29.08.2012
comment
@Dharmendra, да, я думал упомянуть об этом (вы заметите, что я проверял это -› sqlfiddle.com /#!5/d41d8/224), но я не упомянул :-) - person Sathyajith Bhat; 29.08.2012
comment
@Сатья, большое спасибо друг - person Sreedhu Madhu; 05.02.2015

Пытаться:

select strftime("%Y-%m-%d", YOUR_DATE_COL) from .......
person Vyacheslav Shylkin    schedule 28.08.2012
comment
Получаю неправильный результат. Я получаю правильный формат, но не получаю истинное значение, например, у меня есть 1346142933585 милли, что равно 2012-08-28, но я получаю 1698-19-20. - person Dharmendra; 28.08.2012