<time>标签仅在需向机器明确传达时间语义时使用,必须添加符合ISO 8601标准的datetime属性(含时区),内容与属性逻辑一致,不可替代表单控件,错误格式将导致结构化数据失效或可访问性问题。

time 标签不是装饰性元素,它只在需要向机器(搜索引擎、屏幕阅读器、结构化数据提取器)明确传达「这是时间」时才该用。没语义需求就别加——加了反而干扰可读性。
datetime 属性必须写,且格式不能错
省略 datetime 属性时,time 标签几乎失去语义价值;浏览器和爬虫无法可靠解析你写的“昨天”“下周五”或“下午三点”。必须提供 ISO 8601 格式的值:
-
2026-04-09(仅日期) -
2026-04-09T22:13+08:00(带时区的完整时间,T和+不可省略) -
PT1H30M(持续时间,P开头,T分隔时间单位) - 错误示例:
2026/04/09、2026-04-09 22:13、22:13:00 CST—— 这些都不被标准识别
标签内容可以自由写,但别和 datetime 矛盾
用户看到的是标签内文本,机器读的是 datetime。两者不必字面一致,但逻辑要对得上:
- ✅
<time datetime="2026-04-09">今天</time>(当前页面发布于 2026-04-09,“今天”是合理口语化表达) - ✅
<time datetime="PT2H15M">两小时十五分钟</time>(持续时间语义清晰) - ❌
<time datetime="2026-04-09">明天</time>(语义冲突,机器无法推断“明天”指哪天) - ❌
<time datetime="2026-04-09">4 月 9 号</time>(虽不报错,但中文数字+汉字单位对部分辅助技术支持弱,建议用“4月9日”或“2026年4月9日”)
时区信息不是可选,而是必要条件
只要涉及具体时刻(非纯日期),datetime 就必须包含时区偏移或 Z(UTC)。否则,同一时间在不同地区会被解析为不同本地时间:
将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。
- ✅
2026-04-09T22:13+08:00(北京时间) - ✅
2026-04-09T14:13Z(等价于上一条) - ❌
2026-04-09T22:13(无时区,浏览器按用户本地时区解释,SEO 和结构化数据会出错) - 跨时区活动(如线上会议)漏掉时区,等于没标时间
不要用 time 标签替代 date 或 time 表单控件
time 是语义标记,不是交互组件。它不触发日历弹窗、不校验输入、不响应用户修改:
立即学习“前端免费学习笔记(深入)”;
- 用户需选择日期?用
<input type="date"> - 需输入具体时间?用
<input type="time"> - 仅说明“本文发布于 2026-04-09”?才用
<time datetime="2026-04-09">2026年4月9日</time> - 混用会导致 DOM 语义混乱,比如把
<input type="date">套进<time>里——无效且无意义
datetime 值,都会被 Google、Bing、VoiceOver 等工具当作事实数据提取。错一个字符,就可能让富摘要失效,或让视障用户听到错误时间。它轻量,但不可随意。

















