我如何才能查看我上次访问网站的时间(精确到秒)?

我如何才能查看我上次访问网站的时间(精确到秒)?

在 Firefox 中,可以查看历史记录 ( Ctrl++ ) 并选择列ShiftH最近访问,但这只显示精确到一分钟的时间。我怎样才能获得更高的精度,至少精确到秒?

我更喜欢在浏览器本身中运行的解决方案,例如扩展或about:config设置,但如果不可能的话,我也很乐意知道如何在配置文件数据中找到它。

动机

就我而言,我想检查一下,因为一个练习围棋的网站——郭娟的网络围棋学校– 可能会根据解决问题所花的时间长短而做出不同的反应。

其他讨论

当我试图找到这个问题的时候,我偶然发现了一个非常古老的(Firefox 3 之前)讨论http://forums.mozillazine.org/viewtopic.php?f=38&t=500060有人提到了一个附加组件(第 1957 号),显然已不复存在。

在 Android Stack Exchange 中,有人问“如何在 Firefox Android 中查看历史记录项目的时间戳?”,谈到“确切时间”,但那里的答案只是提到最近访问将历史记录同步到 PC 后,Firefox 会显示该列。

答案1

您有以下几种可能的情况:

  • 使用不受监控的 Firefox 附加组件:简单,有限,使用风险自负
  • 使用 SQL 检查 Firefox 的数据库:功能强大,更棘手 - 更适合高级用户

使用更好的历史添加在

有一个未受监控(即“使用风险自负”)插件,它的作用是更好的历史.¹ 在其“日视图”中,可以显示最接近的秒数的时间以及对同一站点的多次访问,这与仅显示最后一次访问的普通历史记录不同。

不便之处在于(截至 2020-06-13),我能找到的查看一年前的日视图的唯一方法是冒着 RSI 风险单击其按钮 365 或 366 次!

¹ 根据下面的评论,自 2024-02-19 起,需要分叉此插件。

检查配置文件数据中的时间戳

对于 Firefox 78.0.1(可能还有许多其他版本),您可以在 Firefox 配置文件数据中找到时间戳。如果您了解(或学习过)SQL,这将为您提供更大的灵活性。

世界标准时间上次访问的时间以微秒为单位存储UNIX 纪元在列last_visit_dateSQLite数据库places.sqlite位于 Firefox 配置文件目录中。可以使用日期和时间函数SQLite。似乎此表中的某些行可能具有NULLlast_visit_date;我不知道这是什么意思。

sqlite3我已使用3.28.0(2019-04-16)和1.2.2测试了以下说明sqliteman

您可以按照以下步骤检查时间戳:

  1. 确保安装了sqliteman(GUI)或sqlite3(命令行),或者安装了可以检查SQLite使用 SQL 查询的数据库。
    • 或许这是在 Firefox 安装中,但在我看来并不像这样。
  2. 如果你不知道你的 Firefox 配置文件数据在哪里,请查找以下内容:
  3. 复制时间戳数据或准备访问数据库:
    • 要处理副本,请将数据库places.sqlite从您的配置文件目录复制到某个位置(例如,临时目录或您的桌面)。
      • 即使 Firefox 处于活动状态,这也是可能的,但是您可能看不到所有访问– 我观察到它们不完整,我认为只有最后两三个缺失,但不能确定。(有些数据库系统支持在数据库处于活动使用状态时复制数据库,但我认为 SQLite 不支持。)
    • 如果要查看甚至修改原始数据库:
      1. 仅当您非常肯定你在做什么; 如果不是,你的个人资料可能会被损坏!
      2. 似乎只有在您不使用 Firefox 时才可以就地访问它,这可能会排除其他进程访问其数据库,因此如果 Firefox 处于活动状态,请关闭它,否则您将无法访问数据。
      3. 无论如何,您可能都想制作一份备份!
  4. 使用 GUI 访问复制的(或原始)数据库或者命令行:
    • 使用 GUI:
      1. 使用您选择的 GUI 工具打开数据库(例如sqliteman)。
      2. (为了sqliteman):
        1. 光标从命令区域开始:粘贴下面的示例查询之一或编写您自己的查询。
        2. 选择整个命令 ( Ctrl+ A)。
        3. 执行命令:F9
    • 使用命令行:
      • sqlite3您可以使用语法发出单个 SQL 查询sqlite3 --readonly "_<profile-dir>_/places.sqlite" "_<query>_"
        • --readonly以只读方式打开数据库以防止意外更新。
        • _<profile-dir>_是您的 Firefox 配置文件目录。
        • _<query>_是您希望执行的 SQL 查询:请参阅下面的示例或编写您自己的查询。
      • 或者,您可以使用语法访问数据库sqlite3 --readonly "_<profile-dir>_/places.sqlite"并发出多个命令。

合适的查询包括:

  • 要查看所有带有时间戳的条目(以您的计算机/会话所设置的时区为准,精确到秒):
    • select datetime(last_visit_date/1000/1000,'unixepoch','localtime'), url, title from moz_places where last_visit_date not null
  • 省略,'localtime'时间世界标准时间而不是您的时区。
  • 省略where last_visit_date not null包含未注明日期的条目。
  • 查看毫秒,使用1000.0代替1000strftime('%Y-%m-%d %H:%M:%f',代替datetime(,例如:
    • select strftime('%Y-%m-%d %H:%M:%f',last_visit_date/1000.0/1000.0,'unixepoch','localtime'), url, title from moz_places where last_visit_date not null
  • 种类时间最后访问,将最近的放在第一位,附加order by last_visit_date desc,例如(秒,毫秒):
    • select datetime(last_visit_date/1000.0/1000.0,'unixepoch','localtime'), url, title from moz_places where last_visit_date not null order by last_visit_date desc
    • select strftime('%Y-%m-%d %H:%M:%f', last_visit_date/1000/1000,'unixepoch','localtime'), url, title from moz_places where last_visit_date not null order by last_visit_date desc
  • 要限制为(例如) 100 行,请附加limit 100到命令,例如:
    • select datetime(last_visit_date/1000.0/1000.0,'unixepoch','localtime'), url, title from moz_places where last_visit_date not null order by last_visit_date desc limit 100
    • 注意:SQLite 不接受limit to 100 rows某些 SQL 方言中的语法。
  • 限制在某一特定网站, 添加and url like "url 前缀%",例如(对于 DuckDuckGo 搜索引擎或原始问题中的网站):
    • select datetime(last_visit_date/1000/1000,'unixepoch','localtime'), url, title from moz_places where last_visit_date not null and url like "https://duckduckgo.com%" order by last_visit_date desc
    • select datetime(last_visit_date/1000/1000,'unixepoch','localtime'), url, title from moz_places where last_visit_date not null and url like "https://internetgoschool.com%" order by last_visit_date desc

相关内容