Нахождение разницы между двумя временными метками, чтобы получить время загрузки в sqlite - PullRequest
1 голос
/ 30 апреля 2020

Я пытаюсь декодировать файл Chrome history.sqlite, используя python:

Мой Sql запрос:

SELECT 
  datetime(start_time/1000000-11644473600,'unixepoch','localtime') AS 'Decoded start_time (local time)', 
  datetime(end_time/1000000-11644473600,'unixepoch','localtime') AS 'Decoded end_time (local time)' 
FROM downloads

мой вывод (есть еще но для простоты я просто добавил одну строку):

2020-04-11 18:55:54 2020-04-11 18:57:34

Я хочу создать третий столбец, который предоставляет нам разницу между двумя временными метками (в секундах).

1 Ответ

0 голосов
/ 30 апреля 2020

Вы можете использовать функцию julianday() следующим образом:

SELECT t.*,
  round((julianday(t."Decoded end_time (local time)") - julianday(t."Decoded start_time (local time)")) * 24 * 60 * 60, 0)
FROM (
  SELECT 
    datetime(start_time/1000000-11644473600,'unixepoch','localtime') AS "Decoded start_time (local time)", 
    datetime(end_time/1000000-11644473600,'unixepoch','localtime') AS "Decoded end_time (local time)" 
  FROM downloads
) t

или с функцией strftime():

SELECT t.*,
  strftime('%s', t."Decoded end_time (local time)") - strftime('%s', t."Decoded start_time (local time)")
FROM (
  SELECT 
    datetime(start_time/1000000-11644473600,'unixepoch','localtime') AS "Decoded start_time (local time)", 
    datetime(end_time/1000000-11644473600,'unixepoch','localtime') AS "Decoded end_time (local time)" 
  FROM downloads
) t
...