#android #database #sqlite
#Android #База данных #sqlite
Вопрос:
Я играю со своим устройством Android и случайно удалил свой календарь при установке нового ПЗУ.
К счастью, я создал резервную копию с помощью Titanium, и в ней есть файл db. Теперь я открыл его с помощью SQLLite и могу видеть все события (да).
Однако данные выглядят следующим образом:
"Kevin <3 De Coninck. Verjaardag" "851558400000" "0"
"FREQ=YEARLY;UNTIL=20361231T000000Z;WKST=SU"
"Babyborrel alex" "1362852000000" "1362855600000" ""
"Plasma" "1364234400000" "1364238000000" ""
Проблема здесь в полях даты. Там что-то вроде: 851558400000
Кто-нибудь знает, какой это формат даты, и как я могу снова преобразовать его в обычную дату с помощью sqllite?
Комментарии:
1. Скорее всего, это миллисекунды с момента epoch — временная метка Unix. Время — 12:00 утра, 1 января 1970 UTC. Просто преобразуйте это в объект Date в качестве значения int и отформатируйте его так, как вы хотите.
2. даты обычно хранятся в миллисекундах
3. Выглядит как миллисекунды с 1970 года. Если это правильно, фактическая дата — 26.12.1996.
4. Есть изменение, которое кто-нибудь знает, каков формат времени в базе данных?
Ответ №1:
Спасибо за все ваши ответы.
Теперь, когда я знаю, что это миллисекунды, я использовал функцию:
date(milliscolumn/1000,'unixepoch','localtime')