为什么要自己管理创建和修改时间
本文会分为三个章节:
- 为什么?——为什么要自己管理时间数据
- 有啥用?——这个时间数据能用来做什么
- 怎么做?——如何轻松实现时间数据管理
为什么?
为什么要自己管理创建和修改时间?
——因为文件本身的时间属性不可靠。
众所周知,我们的文件系统会在文件中保存 创建时间
和 修改时间
:
但是,这两个时间非常容易发生变动,也不总是准确。
比如在不同设备上同步笔记时,文件的时间属性就可能变化。
有的时候我们需要批量修改笔记,这也会导致它们的修改时间全都变成这次批处理的时间——这也不是我们希望发生的。
例如修改属性的名称,或者修改标签名称,都会造成这种“大量文件的改动”。
这样一来,如果你想查看“最近修改了哪些笔记”,结果就会毫无意义。
有啥用?
如上文所说,时间属性可以让你能做到查看“最近创建的笔记”、“最近修改的笔记”。
通常而言,这些是配合 Dataview 插件实现的,例如:
这样的统计能帮助你快速找到最近的笔记,也可以一览自己近期专注的内容,或者就是更干脆——今天你都改了哪些笔记。
亦或是列出这样的折线图,来满足一下自己的「成就感」:
这些的前提都是 正确的时间属性。
而如果你的时间属性是错误的,那么基于它列出来的笔记结果也都会是错误的。
截图中的效果使用 Dataview 和 Components 插件实现。
怎么做?
基础实现
以创建时间为例,先使用「添加笔记属性」:
设置属性名称:
修改类型:
然后选择当前时间即可:
修改时间同理,创建一个 日期 & 时间 类型的 修改时间
属性,然后每次修改的时候都改动这个属性即可。
通过这样将时间属性写入元数据(笔记属性/Frontmatter)的方法,我们就可以获得更可控和有效的时间属性。
自动化
看完上面那段,你的想法是不是「这也太蠢了」?
我知道你很急,但是你先别急。
我们 Obsidian 当然不会用这么原始的手工操作,通过插件,这些步骤完全可以在后台自动实现,完全不需要用户关心。
首先,创建时间
可以用 Templater 插件,使用这样的笔记模板:
---
title: 250314_为什么要自己管理创建和修改时间
create_date: 2025-03-14T13:14
modified_date: 2025-03-14T13:14
aliases:
tags:
---
# 250314_为什么要自己管理创建和修改时间
这样一来就可以在创建笔记时,自动将创建时间写入笔记元数据:
关于 Templater 的教程还请自行搜索 ( ̄▽ ̄) ノ
然后就是 修改时间
,这个也有很多相关插件:
搜索 Update date
就能找到很多,可以选一个下载量较高的使用。
安装并配置之后,就能在你修改笔记的时候,自动将修改时间更新到元数据中。
⚠️ 自动修改的插件往往比较频繁,有时候你只要打开一个笔记,不去做实际的改动,它也可能会去更新修改时间。
我自己使用的是 Update Time Updater 插件,它提供了一个「更新修改时间」的命令:
我用 Commander 插件写了个宏,将这个命令和「保存文件」绑定在一起,然后注册给 Ctrl+S 快捷键:
这样一来,只会在每次我主动按下 Ctrl+S 保存的时候填写修改日期,可以避免一些额外的改动对修改时间造成影响。
顺便,Obsidian 本身其实是会自动保存的,不需要你手动去执行“保存文件”,我只是已经养成了 5 秒一次 Ctrl+S 的习惯 hhh
💡 另外,用于格式化的 Linter 插件也有专门的 YAML 时间戳 功能,同样能实现创建和修改时间的更新,感兴趣可自行了解。
总个结
以上就是本期分享的内容。
文章介绍了“管理笔记的时间属性”的理由,作用,以及如何方便地借助插件实现轻松管理。
其实说白了,只有需要基于时间去统计笔记的情况下,才有必要去自己维护和管理时间属性。
如果你完全不 care 每个月写了多少笔记,最近改了哪些笔记……那么你也完全不需要去管这个事儿。
这件事完全取决于个人需求,没有必要和非必要之说。
感谢观看。
讨论
若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。