datetime属性必须使用ISO 8601格式(如2026-06-24或2026-06-24T19:56:00+08:00),不参与国际化渲染;用户可见文本需手动本地化,可通过JavaScript的Intl.DateTimeFormat或静态书写实现。

datetime 属性必须保持 ISO 格式,与语言无关
它的作用是锚定一个无歧义的时间点,供搜索引擎、屏幕阅读器或数据聚合工具解析。无论页面语言是中文、英文还是阿拉伯语,datetime 的写法都一样:
- ✅
2026-06-24(仅日期) - ✅
2026-06-24T19:56:00+08:00(带时区的完整时间) - ✅
2026-06-24T11:56:00Z(UTC 时间) - ❌
2026/06/24、2026-6-24、2026-06-24 19:56、2026-06-24T19:56:00 CST
浏览器和爬虫只认字面合规性,错一位字符(如漏 T、少冒号、月份没补零)就静默忽略,不会报错但语义失效。
页面上给人看的文本要单独处理
标签内文字(即 <time datetime="...">这里的内容</time>)才是用户实际看到的部分。它完全自由:可以写“今天”、“昨日”、“6月24日”或“Jun 24”,但这些对机器没有意义。
- 若需动态适配多语言,建议用 JS 读取
datetime值,再用Intl.DateTimeFormat渲染:const timeEl = document.querySelector('time'); const dt = new Date(timeEl.dateTime); const formatted = new Intl.DateTimeFormat('zh-CN', { year: 'numeric', month: 'long', day: 'numeric' }).format(dt); timeEl.textContent = formatted; // 替换为“2026年6月24日” - 静态页面也可直接手写本地化文本:
<time datetime="2026-06-24">2026年6月24日</time>—— 简单可靠,SEO 和无障碍都有效。
input[type="date"] 和 time 标签不是一回事
<input type="date"> 的 UI 会随系统语言自动变化(如中文系统显示“2026-06-24”,英文系统可能显示“06/24/2026”),但它的 value 永远是 YYYY-MM-DD。这容易让人误以为 <time> 也能自动本地化,其实不能——它纯语义,不控制显示。
跨时区内容务必显式标注偏移
如果页面面向全球用户(比如直播预告、国际会议),datetime 必须含时区信息:
- 推荐用
+08:00或Z,不用GMT+8、CST等缩写 - 不要只写
2026-06-24T19:56(无时区),不同浏览器可能按本地时区解释,导致结构化数据不可靠
不复杂但容易忽略。

















