如何使用Obsidian的数据库插件实现“往年今日”功能

在小红书刷手账内容时,经常能看到 三年日记、五年日记 的页面设计。类似的功能,在数字工具里也有经典代表——比如 Day One,凭借“那年今日”就圈住了一大批忠实用户。

我自己用 Obsidian 写日记。之前是靠 dataview 插件来实现“往年今日”,但体验过于繁琐。最近,Obsidian 新推出了 官方数据库插件Bases(1.9 版本以上),支持函数运算,于是我就尝试用它来重建这个功能。

前提:文件名就是时间戳

我习惯给文件加上 八位数字时间戳

  • 日记:20250823.md
  • 博文:20250805-日历版时间记录快捷指令更新-Blog.md

这样做的好处是:

  1. 跨平台清晰——不管在 Obsidian 还是操作系统里,一眼就能看出文件的日期和来源。
  2. 不依赖软件——不用担心哪天迁移工具,文件还能直接读懂。

也有人会用“文件创建时间”来做匹配,但我的日记偶尔会补记,创建时间并不能反映真实情况。相比之下,文件名里的时间戳更灵活,也更稳定。

实现步骤

  1. 升级 Obsidian
    确保版本 ≥ 1.9,在设置 → 核心插件里,开启 数据库插件

    Obsidian选项-核心插件-数据库
  2. 准备模板
    根据自己的需求设计日记模板。我的是“时间戳+正文”这种极简结构(具体可以参考这篇文章:简单更新了一下每天使用的Obsidian日记模板)。保存到模板文件夹,方便 Templater 调用。

  3. 创建数据库
    CMD+P 打开命令面板 → 搜索“数据库:创建新数据库”,放在库根目录,命名。
    进入数据库 → 点击右上角“筛选” → 输入匹配函数:根据文件名的 8 位时间戳,提取月份+日期,忽略年份,并排除当前文件。

    使用Obsidian数据库插件筛选往年今日文章的公式
4.引用数据库
打开日记模板 → CMD+P → “数据库:插入新数据库”。
插入命令形式是:![[数据库名.base],把方括号里的名字改成刚才的数据库名即可。

效果

这样,每次新写日记时,只要套用模板,就能在页面里直接看到 “往年今日” 的记录。操作并不复杂,但体验却很接近 Day One 的“那年今日”,而且完全本地化。

评论

此博客中的热门博文

简单更新了一下每天使用的Obsidian日记模板

用了 DEVONthink 5 年,现在 4.0 终于发布,我却想离开了

再见Pocket!“稍后读”凉了,我们注定只能被算法“投喂”?

效率工具盘点:27款Mac应用如何构建我的「输入-处理-输出」系统

数字工具规划,手账记录,我觉得这样感觉还挺好的