从存储在历史记录sqlite中的数据花在每个chrome标签/网站上的时间

问题描述 投票:0回答:1

我正在尝试找出用户在每个标签/网站上花费的时间。例如,如果我访问youtube并观看了10分钟,那么我应该可以看到类似的内容www.youtube.com ---> 10分钟

我已经与sqlite数据库建立了连接,即chrome目录中存在历史记录文件,并且能够运行以下sql命令来提取数据:

SELECT urls.id, urls.url, urls.title, urls.visit_count, urls.typed_count, urls.last_visit_time, urls.hidden, urls.favicon_id, visits.visit_time, visits.from_visit, visits.visit_duration, visits.transition, visit_source.source FROM urls JOIN visits ON urls.id = visits.url LEFT JOIN visit_source ON visits.id = visit_source.id

所以谁能告诉我我可以使用哪种列组合来花费在每个网站上的时间。

请注意:visit_duration没有提供适当的数据。

java sqlite google-chrome history
1个回答
0
投票

visit_duration以毫秒为单位存储持续时间,您需要转换并格式化该数字。这是显示人类可读访问持续时间的一种方法:

SELECT urls.url AS URL, (visits.visit_duration / 3600 / 1000000) || ' hours ' || strftime('%M minutes %S seconds', visits.visit_duration / 1000000 / 86400.0) AS Duration
FROM urls LEFT JOIN visits ON urls.id = visits.url

这里是示例输出:

URL                             | Duration
---------------------------------------------------------------
http://www.stackoverflow.com/   | 3 hours 14 minutes 15 seconds

如果需要更多格式选项,也可以使用strftime

© www.soinside.com 2019 - 2024. All rights reserved.