Sublime Text 插入时间戳需安装InsertDate插件或自定义Python命令;插件默认快捷键为Ctrl+Shift+D(Win/Linux)或Cmd+Shift+D(macOS),输出ISO格式如2024-06-12 15:23:41;自定义命令需在Packages/User/下建insert_timestamp.py,类名InsertTimestampCommand,绑定快捷键后即可多光标插入。

Sublime Text 插入当前时间戳用什么命令
直接用 insert_time 命令,但默认没绑定快捷键,也不能直接调;得先装插件或自己配命令。原生 Sublime 不带时间戳功能,别在菜单里瞎翻「插入 → 时间」——根本不存在。
最轻量的解法是装 InsertDate 插件(Package Control 可搜到),装完就能用 ctrl+shift+d(Windows/Linux)或 cmd+shift+d(macOS)插入 ISO 格式时间,比如 2024-06-12 15:23:41。
- 不装插件也行,但得手动写 Python 命令并绑定快捷键,适合愿意多敲几行的人
-
InsertDate支持自定义格式,改配置文件里的format字段就行,比如改成%Y-%m-%d_%H-%M就输出2024-06-12_15-23 - 别用系统剪贴板 + 手动粘贴,一来慢,二来时区可能错(尤其跨设备时)
自定义时间戳命令怎么写(Python API 方式)
如果你不想装第三方插件,或者想完全控制格式和触发逻辑,就写个 mini 插件:在 Packages/User/ 下新建 insert_timestamp.py,内容如下:
import sublime
import sublime_plugin
import datetime
class InsertTimestampCommand(sublime_plugin.TextCommand):
def run(self, edit):
now = datetime.datetime.now()
timestamp = now.strftime("%Y-%m-%d %H:%M:%S")
for region in self.view.sel():
self.view.replace(edit, region, timestamp)
保存后,用 ctrl+shift+p 调出命令面板,输入 Insert Timestamp 就能执行。要设快捷键?在 Preferences → Key Bindings 里加一条:
[{"keys": ["ctrl+alt+t"], "command": "insert_timestamp"}]
- 注意文件名必须是
xxx.py,类名必须以Command结尾,且继承sublime_plugin.TextCommand -
strftime的格式符别写错,%y是两位年份,%Y才是四位;%H是 24 小时制,%I是 12 小时制 - 多个光标(多选区域)会各自插入一次时间,不是只插一次——这是预期行为,不是 bug
为什么用 datetime.now() 而不是 time.time()
因为你要的是可读字符串,不是 Unix 时间戳数字。time.time() 返回的是 float 类型秒数(如 1718206294.123),还得转成 datetime 再格式化,纯属绕路。
-
datetime.now()直接拿到本地时区对象,strftime一步到位 - 如果需要 UTC 时间,用
datetime.datetime.utcnow().strftime(...),但注意它不带时区信息,显示上没 “Z” 或 “+00:00” - 真要带时区(比如 RFC 3339 格式),得用
datetime.now(datetime.timezone.utc),否则日志对时容易出偏差
常见错误:快捷键不生效或插件不加载
装了 InsertDate 却按 cmd+shift+d 没反应?大概率是快捷键被其他插件劫持,或者配置文件语法错了。
- 检查
Preferences → Package Settings → InsertDate → Settings,确认enabled是true - 打开
Console(ctrl+`),输sublime.log_commands(True),再按快捷键看有没有输出对应命令名 - 自定义命令文件如果报错(比如缩进错、少冒号),Sublime 不会提示,只会静默失败——这时去 Console 看红色报错行
- Mac 上
cmd键在某些键盘布局下可能识别为super,快捷键绑定得写super+shift+d
时间戳看着小,但格式、时区、触发时机这三块一松劲,后面查日志或比对时间就费劲。尤其是团队协作时,有人用本地时间,有人用 UTC,没人提一句,问题能拖好几天。









