在 Hexo 博客中,日期和时间的显示格式直接影响文章的阅读体验和归档逻辑。Hexo 内部使用 Moment.js 库来处理时间的解析与显示,因此其配置格式遵循 Moment.js 的规范。本文将详细解读 _config.yml 中的日期时间相关配置。
核心显示格式配置
date_format
定义日期的显示格式。默认值为 YYYY-MM-DD,显示效果为 2026-03-09。你可以根据个人喜好调整,例如改为 MM/DD/YYYY 或 dddd, MMMM Do YYYY 等样式。
time_format
定义时间的显示格式。默认值为 HH:mm:ss,显示效果为 17:05:24。若不需要显示秒,可将其修改为 HH:mm。
更新时间选项配置
updated_option
该配置用于控制当文章 Front Matter(前置声明)中未指定 updated 字段时,Hexo 如何获取文章的更新时间。它有三个可选值:
- mtime:使用文件的最后修改时间。这是 Hexo 3.0.0 开始的默认行为,能够真实反映文件在磁盘上的最后修改时刻。
- date:使用
date字段作为updated的值。此选项适用于使用 Git 管理站点的用户,因为 Git 操作(如 clone、pull)可能会改变文件的系统修改时间,导致时间显示不准确,使用此选项可保持时间与文章发布时间一致。 - empty:直接删除
updated字段。注意:使用此选项可能会导致大部分主题和插件无法正常工作,因为它们通常依赖updated字段来判断文章是否被更新过。
配置示例
以下是一个自定义日期时间配置的示例:
1 | # Date / Time format |
此配置表示:日期显示为 2026年03月09日 的格式,时间仅显示时和分,并且文章的更新时间将与发布时间保持一致。
注意事项
- 格式参考:具体的日期时间格式化字符串(如
YYYY、MM等)定义可参考 Moment.js 官方文档的显示格式章节。 - 配置变更:在 Hexo 版本 7.0.0 及以上版本中,
use_date_for_updated选项已被移除。如果你需要将updated时间与date时间保持一致,请直接使用updated_option: 'date'进行配置。 - 时区问题:虽然配置中未直接体现,但建议在服务器或本地环境中确认时区设置,以确保生成的时间与预期时区(如北京时间)一致,避免出现时间偏差。
- 主题兼容性:修改
date_format和time_format通常只影响自动生成的日期显示,文章 Front Matter 中的日期格式由你手动编写决定,但为了统一,建议保持一致。