Sublime Text 插入当前时间的原生方案是使用 snippet,无需安装插件、兼容性强、响应快;通过 Tools → Developer → New Snippet 创建,用 ${CURRENT_YEAR} 等变量实现格式化输出,如 dt 触发插入 。

Sublime Text 插入当前时间的原生方案
Sublime Text 本身不提供默认快捷键插入时间,但可通过 Insert Date 插件或原生 snippet 实现。优先推荐 snippet 方案——无需安装插件、无兼容性风险、响应快。
用 snippet 快速插入格式化时间(推荐)
snippet 是最轻量、最可控的方式。它能精确控制输出格式(比如 2024-05-21 14:30:45 或 May 21, 2024),且不依赖 Python 环境版本(避免 Sublime 4 中因 Python 3.8+ 的 datetime 行为变化导致插件失效)。
- 菜单栏点击 Tools → Developer → New Snippet…
- 替换全部内容为以下代码(支持中文环境下的 24 小时制):
]]> dt text.plain, source.python, text.html Insert current datetime comment
- 保存为
Packages/User/insert_datetime.sublime-snippet - 在编辑器中输入
dt后按Tab,即插入形如的注释
注意:${CURRENT_XXX} 变量由 Sublime 原生支持,不走 Python 解析,因此在 Sublime Text 3 和 4 下行为完全一致。
为什么不用 InsertDate 插件?
常见插件 InsertDate 在 Sublime Text 4 中容易报错:AttributeError: module 'datetime' has no attribute 'strptime'。这是因为 Sublime 4 内置 Python 升级到 3.8+,而部分老插件仍调用已被移除的旧式 datetime.strptime 路径(实际应通过 datetime.datetime.strptime 调用)。
- 插件需手动修改
.py文件中的strptime调用方式,维护成本高 - 每次 Sublime 升级后都可能再次失效
- 无法在禁用插件的受限环境(如公司统一镜像)中使用
相比之下,snippet 不执行任何 Python 逻辑,纯文本替换,零故障率。
进阶:按需切换多种时间格式
可定义多个 snippet,用不同 tabTrigger 区分用途:
-
dtu→ Unix 时间戳:${current_timestamp}(Sublime 原生支持) -
dty→ 年份:${CURRENT_YEAR} -
dtf→ ISO 格式:${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}T${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}
所有变量名必须严格使用 Sublime 文档定义的格式(如 CURRENT_HOUR,不能写成 hour 或 HOUR),否则不会被替换。
真正麻烦的不是设置,而是记混哪些变量可用——建议直接查官方文档页搜索 variables,别凭经验猜。










