【问题标题】:Finding the differnce between two timestamps to get download time in sqlite在 sqlite 中查找两个时间戳之间的差异以获取下载时间
【发布时间】:2020-04-30 12:02:17
【问题描述】:

我正在尝试使用 python 解码 Chrome history.sqlite 文件:

我的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

我想制作第三列,为我们提供两个时间戳之间的差异(以秒为单位)。

【问题讨论】:

    标签: sqlite timestamp


    【解决方案1】:

    您可以像这样使用函数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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-20
      • 2017-12-21
      • 1970-01-01
      • 1970-01-01
      • 2014-05-04
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      相关资源
      最近更新 更多