pubdate属性已彻底废弃,现代html中无效;datetime是唯一有效属性,必须严格遵循iso 8601格式,如datetime="2026-07-23",错误格式或缺失将导致机器无法识别时间语义。

pubdate 属性已彻底失效,现代 HTML 中写它没有任何语义作用,浏览器不解析、标准已移除、工具链完全忽略——别再用了。
为什么 pubdate 查不到、也起不了作用
它不是“兼容性差”,而是从规范里被物理删除了:
-
pubdate在 HTML5 草案早期存在,但早在 WHATWG HTML Living Standard 和 W3C HTML5.3 中均被明确标记为 obsolete -
document.querySelector('time[pubdate]')永远返回null,哪怕你手写<time pubdate datetime="2026-07-23">今天</time> - Chrome、Firefox、Safari、Edge 全部不将其纳入 DOM 属性集合,
el.hasAttribute('pubdate')为false - 屏幕阅读器、SEO 工具、RSS 解析器等依赖结构化数据的系统,压根不会扫描这个属性
datetime 是唯一真正起作用的属性
所有机器可读时间语义,只靠 datetime 值驱动。它必须严格符合 ISO 8601,且不能混入任何非标准字符:
- ✅ 正确:
<time datetime="2026-07-23">今天</time>、<time datetime="2026-07-23T14:30:00+08:00">下午2:30</time> - ❌ 错误:
<time datetime="2026/07/23">今天</time>(斜杠分隔,Safari 可能解析失败) - ❌ 错误:
<time datetime="2026-07-23 (周四)">今天</time>(括号破坏机器可读性) - ❌ 错误:
<time datetime="2026-07-23T14:30">下午2:30</time>(缺时区,跨时区部署时 UTC 时间不一致)
想表达“这是发布时间”,该怎么做
没有 pubdate,就得靠上下文 + 标准属性 + 扩展语义组合实现:
- 把发布时间放在
<article></article>内第一个<time></time>,多数 CMS 和聚合工具会默认识别为datePublished - 显式加
itemprop="datePublished"(Schema.org 微数据),搜索引擎更稳定识别:<time datetime="2026-07-23" itemprop="datePublished">2026年7月23日</time> - 辅助技术场景下,可加
aria-label="发布于2026年7月23日",但注意不要和datetime值冲突(比如datetime="2026-07-22"却写aria-label="23日") - 避免在
<footer></footer>或无关段落里塞一个孤立<time></time>并幻想它被当发布时间——位置和嵌套关系直接影响语义可信度
真正容易被忽略的是:很多人写了 <time></time> 就以为完成了时间语义化,其实只要 datetime 缺失、格式错误、或脱离合理上下文,它就跟普通 <span></span> 没区别。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











