---
id: "date"
title: "日期、时间与范围"
category: "选择组件"
document_type: "component-specification"
spec_status: "local-current-draft"
element_ui: "2.15.6"
vue: "2.6.14"
page: "../index.html#spec-date"
source_data: "../component-data.json"
official_components: ["date-picker", "time-select", "time-picker"]
template_components: ["el-date-picker", "el-time-picker", "el-time-select"]
scenario_count: 11
verification: "scenario-checklist-not-full-test-pass"
---

# 日期、时间与范围

专题 `date` · 选择组件 · Element UI 2.15.6

## 适用范围与组件映射

公共色板及字体基线适用于整个运营后台。本库整理基础组件、组件状态和可复用的组合模式；本轮补齐表单整体验证、页面布局和导航组合；具体业务字段与跨页流程仍在业务场景中说明。专题验收清单包含接入要求，不表示当前示例已实现或已验证全部场景。

官方条目映射：`date-picker`、`time-select`、`time-picker`。

本页模板直接使用的 Element UI 标签：`el-date-picker`、`el-time-picker`、`el-time-select`。

## 通用基线

- 组件库：Element UI **2.15.6**；运行样例 Vue **2.6.14**。
- 系统中文字体：macOS 优先苹方，Windows 通常微软雅黑；工程顺序固定为 `"PingFang SC", "Microsoft YaHei", sans-serif`。不要求安装或加载网络字体，兼容回退不是另一套可选样式。
- 后续仅采用经验证且固定版本的兼容 Element UI 2.x；Element Plus 属于独立迁移路线。
- 正文、数据值、输入及已选值：`14px / 400 / 21px`，`#303133`。
- 表头及组件分组标题：`14px / 600 / 21px`；弹窗标题：`16px / 600 / 24px`，均使用 `#303133`。
- 辅助说明：`12px / 400 / 18px`，`#595959`；错误、链接、状态、禁用与占位按各自语义处理。
- 适用组件的默认尺寸为 `small / 32px`；不得将这一高度机械应用于表格、文本域、浮层等全部组件。
- 规范正文与场景说明使用 `14px / 400 / 24px`、`#303133`，不降成灰蓝小字。
- 筛选文本输入占位统一“请输入”；未选择下拉统一“请选择”；默认全部的下拉显示“全部”。字段标签保留业务含义；日期保留开始/结束语义。
- 次级文字操作（查看更多、编辑、详情、数据中心、更多）：`12px / 400 / 18px`，`#3377BB`；保留点击热区。
- 本规范库的深色目录、蓝色展示区属于文档排版，不是业务组件颜色或业务导航规范。

## 本页用法与分类

默认用法：先按要填写的数据确定类型：只记录一天用单日期；需要起止且精确到时间用日期时间范围。各类型沿用同一套矩形触发框与文字规范，不先挑面板外观。

| 区分什么 | 本页内容 | 选用或触发条件 |
| --- | --- | --- |
| 日期与时间内容（用途） | 单日期、日期/月份/日期时间范围、单独时间，以及年/月/周精度用于不同数据。 | 上方演示单日期、日期时间范围、任意时间和固定时间；下方补充年、月、周、日期范围和月份范围。按实际字段需要的精度选用；只需时间时再决定是否限定固定时段。 |
| 精度、步长与边界（数据约束） | 是否到秒、可选时段、默认起止时间和时区决定值的含义。 | 按业务合同设置；本页固定时间以30分钟为间隔，日期时间范围展示到秒，不推广成所有字段的固定参数。 |
| 有效期方式（业务组合） | 永久有效与指定时间决定是否需要日期范围。 | 指定时间才填写完整起止；永久有效时保留草稿但不参与提交。它不是另一套日期组件皮肤。 |
| 焦点、选区与错误（自动状态） | 今天、已选起止、区间、禁选和错误各有触发条件。 | 根据日期与用户操作自动显示；不能手工选成“范围浅蓝款”或“错误红框款”。 |
| 日期精度 | 单日、周、月、年与日期/月份/日期时间范围表示不同精度。 | 按查询或配置需要的精度选择；月份不填成某一天，周的起止与跨年归属由业务确定。 |

使用边界：不要将数据类型、面板范围、精度和自动状态混列成几种任选样式；库支持的类型不等于本后台已采用。

## 组件规则

- **DATE-R01**：按提交内容区分单日期、单时间、日期时间及范围；范围明确起点和终点，精度由业务传入。各类型仍复用公共矩形触发框、字体与字色，不按用途另建一套视觉风格。
- **DATE-R02**：时间宽度与口径统一参考输入框专题：当前日期/日期时间范围控件最外框400px，不含标签；筛选整项为实际标签宽+8px+400px。它已替代旧日期整项576px及以单段204px推导总宽的说法。完整日期时间含秒不省略，窄容器放不下时先换行，再将范围两端分行展示。
- **DATE-R03**：支持禁选范围、快捷项、清除、取消、确认的适用性合同；结束早于开始时报错。时区由宿主明确，组件不能自行猜测。
- **DATE-R04**：当前使用 Element UI 2.15.6 的日期与时间组件；本页展示单日期、年、月、周、日期范围、月份范围、日期时间范围、任意时间和固定时间选项。多日期等其他配置未在本页展示；规范样例不直接等于业务已采用清单；历史双月面板尺寸也不能套到所有类型。
- **DATE-R05**：【公共用色】颜色仅从公共色值 引用：主色系 3 个基础色值、辅助功能色 3 个、中性色 10 个，共 16 个基础色值。角色可以多个，实际色值复用；不为每个组件、悬停 或不同字段再新增近似颜色。透明效果仅限遮罩 35% 与阴影 12%，从 外壳深色 派生。
- **DATE-R06**：【统一字体】统一系统中文字体：macOS 优先苹方（PingFang SC），Windows 通常使用微软雅黑（Microsoft YaHei）；工程顺序固定为 "PingFang SC", "Microsoft YaHei", sans-serif。使用设备已有字体，不要求安装或加载网络字体；最后一项仅作兼容回退，不是供页面作者任选的另一套样式。正文 14px/400/21px；表头与分组标题 14px/600/21px，弹窗标题 16px/600/24px；次级文字操作和辅助说明 12px/400/18px。正文与标题同用 #303133；不通过额外加粗或透明度改变正文轻重。
- **DATE-R07**：【叠加优先级】状态叠加规则：禁用阻断交互；输入类控件错误边框覆盖蓝色聚焦边框；输入框不叠加外圈或阴影，其他无边框操作保留键盘焦点提示；选中底覆盖悬停底；只读不等于禁用；加载不等于成功；业务启用/停用的文字结果不等于控件是否可点击。
- **DATE-R08**：输入及选择触发框统一单层矩形：默认 白色 底、正文深灰 14px/400 字、禁用灰 占位、边框灰 边框；聚焦仅原边框 主题蓝，错误 错误红。鼠标点击与键盘进入均不新增外框或阴影。范围日期仅外层容器变边框，内部两个输入不重复画框。
- **DATE-R09**：输入类反馈成组同步：普通聚焦仅原边框改为主题蓝，普通说明保持辅助深灰；校验失败时边框与就近错误短提示使用错误红，若配置错误图标也同步使用错误红。错误清除时相关视觉与 aria-invalid 一起恢复；不能仅因聚焦就报错，禁用后不触发新校验。当前基础示例不强制增加错误图标，错误含义必须有文字表达。
- **DATE-R10**：输入族统一直角 0px：普通输入、密码、文本域、自动补全、单选/多选触发框、级联、日期/时间与范围、数字输入及前后缀组合输入；默认/聚焦/错误/只读/禁用均不改变圆角。组合输入外侧和拼接处均不保留小圆角，弹出面板的圆角由面板规范独立定义。
- **DATE-R11**：条件改变后，只让当前有效分支参与校验与提交；隐藏或禁用的字段不能带着旧值误提交。各分支草稿分别保留，切换时清除过期错误；清除整组时一并清除草稿。
- **DATE-R12**：指定时间必填完整起止范围；永久有效时日期禁用且不参与提交。定时启用、定时停用、置顶有效期属于不同字段，不能互相覆盖；时区与时间边界由业务声明。
- **DATE-R13**：【输入与焦点】白底、正文深灰、边框灰；占位禁用灰；聚焦只变单层原边框为主题蓝，范围内部输入不重复加框。
- **DATE-R14**：【日期与范围】普通日期正文深灰；悬停浅灰背景；选中起止日主题蓝底白字，范围中间选中浅蓝；今天用操作蓝文字。
- **DATE-R15**：【时间与快捷项】已选时间或快捷项使用操作蓝与明确选中语义；键盘定位使用浅灰背景，不能套复选或按钮按下位移。
- **DATE-R16**：【禁用与只读】不可选日期/时间使用禁用灰且不可提交；整个禁用框浅灰背景；只读值保持正文深灰和复制能力。
- **DATE-R17**：【范围错误】真实格式或起止范围校验失败时，原边框和错误短提示共同错误红；错误优先于聚焦蓝，纠正后恢复。
- **DATE-R18**：【组件边界】日期/时间选择没有勾选框或半选横线；范围的起点、终点和区间是独立视觉角色。日期不可选也不等于加载失败。
- **DATE-R19**：日期精度区分单日、周、月、年、日期范围、月份范围和日期时间范围；按业务所需精度选择，周的起止与跨年归属由业务明确。2.15.6中已核对的类型才可用于本运行样例。
- **DATE-R20**：多日期、周与月份按精度选用；当前运行例补充月份/年份/周及两类范围。官方后续版本的多月/多年等配置须先核对固定版本，不从当前官方目录推定2.15.6全部支持。

## 场景与验收清单

以下为需核对的场景组；`[ ]` 不代表已经测试通过。

- [ ] **DATE-S01**：接入验收按实际配置核对年、月、周、单日、多日、日期范围、月份范围、日期时间及日期时间范围；本页未提供的类型不计为已演示。
- [ ] **DATE-S02**：接入验收按实际配置核对面板选项、不可选日期、快捷范围、默认时间、提交值格式及左右面板独立切换。
- [ ] **DATE-S03**：跨月 / 跨年 / 闰日 / 最小最大日期 / 空值 / 时区与夏令时宿主转换
- [ ] **DATE-S04**：接入验收按实际能力核对任意时间选择器的单值与范围、固定步长时间列表，以及只读、禁用和清除；本页未提供的类型不计为已演示。
- [ ] **DATE-S05**：本页核对触发框焦点、今天、选中日期/区间、不可选日期和清除；下方指定有效期缺少完整范围时才使用错误反馈。已选区间与悬停叠加按日期面板规则处理。
- [ ] **DATE-S06**：核对正文14/400、次级操作12/400、标题600及同色深正文；检查实际弹出层和子 span，不能只检查父元素。
- [ ] **DATE-S07**：验证完整反馈组合：默认→聚焦→失败→再次聚焦→有效纠正→恢复；检查边框、提示、图标和 aria-invalid 一起变化。
- [ ] **DATE-S08**：检查输入族四角及组合拼接处为0px，包含默认、聚焦、错误、禁用和只读状态。
- [ ] **DATE-S09**：切换永久/指定时间；空范围失败；完整范围成功；再切回永久不带日期；禁用态无新校验。
- [ ] **DATE-S10**：宽度验收：400px只指范围控件边框，不含标签；不再套日期整项576px。单值控件填满其分配的内容列；窄容器完整起止及秒值可读。
- [ ] **DATE-S11**：核对单日、周、月、年及三类范围的标签、清空、返回值精度与各自独立选值；周边界按业务口径验收。

### 专题验收重点

检查单日期禁选、日期时间范围、完整秒值、清除和时间选择；范围框宽400px不含标签，实际容器不足400px时起止分行并保留完整秒值，增高由换行触发。下方有效期示例检查指定时间缺少完整范围的错误，以及永久有效时不使用日期草稿。真实时区换算、业务起止边界及服务端校验由宿主补齐。 补充示例核对年、月、周、日期范围、月份范围的独立值与返回精度；周的起止及跨年口径在业务接入时确认。

## 当前示例模板

以下来自本专题的结构化示例，使用 Vue 2 模板语法。`v-model`、事件方法、数据列表等依赖 [components.js](../components.js)；完整样式文件及加载顺序见 [通用基线](FOUNDATIONS.md)。自定义组合标签的内部实现由下方依赖文件提供，不能仅复制标签作为完整组件。

```html
<div class="date-demos">
<label for="spec-date-single">单日期<el-date-picker id="spec-date-single" v-model="singleDate" type="date" placeholder="选择日期" :picker-options="dateOptions">
</el-date-picker>
</label>
<label for="spec-date-start">日期时间范围（UTC+8 解释）<span class="sr-only">起始时间</span>
<el-date-picker :id="['spec-date-start','spec-date-end']" role="group" aria-label="日期时间范围（UTC+8）" v-model="dateRange" type="datetimerange" range-separator="至" start-placeholder="起始时间" end-placeholder="截止时间" value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00','23:59:59']">
</el-date-picker>
</label>
<label for="spec-time-any">任意时间<el-time-picker id="spec-time-any" v-model="timeValue" placeholder="选择时间">
</el-time-picker>
</label>
<label for="spec-time-slot">固定时间选项<el-time-select id="spec-time-slot" v-model="timeSlot" :picker-options="{start:'08:00',step:'00:30',end:'18:00'}" placeholder="选择时段">
</el-time-select>
</label>
</div>
<label for="spec-date-end" class="sr-only">日期时间范围 · 截止时间（UTC+8）</label>
<!-- reference-pattern-validity-pattern -->
<section class="reference-supplement">
<h4>永久有效与指定时间</h4>
<validity-pattern>
</validity-pattern>
<p class="reference-note">参考截图用于提取场景结构；切换、校验、撤销等演示行为按本规范定义。<a href="https://wt37gq.axshare.com/#g=1&amp;id=i50z9y&amp;p=首存活动" target="_blank" rel="noopener noreferrer">查看参考页</a>
</p>
</section>
<official-date-types>
</official-date-types>
```

## 交付与使用边界

- 规范条款、示例代码与待验收场景分开理解；有示例不等于已覆盖所有样式、交互状态和使用场景。
- 业务接口、权限、时区、金额精度、数据规模等依赖应从实际项目读取，不使用演示值代替生产约定。
- 发生样式或文案变更时，同步专题数据、页面与 Markdown，避免规范和样例分离。

## 来源与关联

- 来源线索：历史样板规范 37 / 38；当前规则索引时间适用性；2026-09-15 参考抽样：https://wt37gq.axshare.com/#g=1&id=i50z9y&p=首存活动。
- [打开本专题页面](../index.html#spec-date)
- [通用基线](FOUNDATIONS.md)
- [规范总索引](README.md)
- [结构化规范数据](../component-data.json)（记录 id：`date`）
- [原始历史样板](../original-20260621.html)
- [历史规范条目](../spec-notes.json)

自定义示例 `official-date-types` 的实现：[official-types.js](../official-types.js)。

自定义示例 `validity-pattern` 的实现：[reference-patterns.js](../reference-patterns.js)。

组合样式见 [reference-patterns.css](../reference-patterns.css)；来源及扩展范围见 [参考补充记录](../reference-supplements.md)。

## 本组件颜色状态表

| 状态 / 条件 | 统一规则 |
| --- | --- |
| 输入与焦点 | 白底、正文深灰、边框灰；占位禁用灰；聚焦只变单层原边框为主题蓝，范围内部输入不重复加框。 |
| 日期与范围 | 普通日期正文深灰；悬停浅灰背景；选中起止日主题蓝底白字，范围中间选中浅蓝；今天用操作蓝文字。 |
| 时间与快捷项 | 已选时间或快捷项使用操作蓝与明确选中语义；键盘定位使用浅灰背景，不能套复选或按钮按下位移。 |
| 禁用与只读 | 不可选日期/时间使用禁用灰且不可提交；整个禁用框浅灰背景；只读值保持正文深灰和复制能力。 |
| 范围错误 | 真实格式或起止范围校验失败时，原边框和错误短提示共同错误红；错误优先于聚焦蓝，纠正后恢复。 |

日期/时间选择没有勾选框或半选横线；范围的起点、终点和区间是独立视觉角色。日期不可选也不等于加载失败。

[公共颜色与字体 token](../color-tokens.json) · [公共组件样式](../color-contract.css) · [系统字体合同（最后加载）](../font-contract.css)

## 业务落地场景

- [会员列表 · 筛选区登录时间范围](../../showcase/index.html#members) · [场景文档](../../showcase/docs/members.md)
- [存款记录 · 存款记录筛选 · 时间范围](../../showcase/index.html#deposits) · [场景文档](../../showcase/docs/deposits.md)
- [账户调整审核 · 申请时间筛选](../../showcase/index.html#account-audit) · [场景文档](../../showcase/docs/account-audit.md)
- [活动管理 · 筛选与编辑 · 展示/活动时间范围](../../showcase/index.html#campaigns) · [场景文档](../../showcase/docs/campaigns.md)
- [广告管理 · 广告展示周期与筛选时间](../../showcase/index.html#adverts) · [场景文档](../../showcase/docs/adverts.md)
- [公告管理 · 公告展示周期与筛选时间](../../showcase/index.html#notifications) · [场景文档](../../showcase/docs/notifications.md)
- [通知管理 · 创建时间、定时发布条件](../../showcase/index.html#site-messages) · [场景文档](../../showcase/docs/site-messages.md)
- [推广报表 · 日报 · 报表统计日期](../../showcase/index.html#reports) · [场景文档](../../showcase/docs/reports.md)
- [推广报表 · 代理报表统计日期](../../showcase/index.html#agents) · [场景文档](../../showcase/docs/agents.md)
- [操作日志 · 日志发生时间范围](../../showcase/index.html#logs) · [场景文档](../../showcase/docs/logs.md)
- [运营总览 · 总览统计日期范围](../../showcase/index.html#overview) · [场景文档](../../showcase/docs/overview.md)
- [客服工单管理 · 工单时间筛选](../../showcase/index.html#tickets) · [场景文档](../../showcase/docs/tickets.md)

[竞品组件拆解](../../reference-review/竞品组件反推规范.html) · [业务场景分类](../../业务场景分类清单.md)
