【Bug】新增记录时日期字段自动预填为「明天」today+1,浏览器与系统时间均正确
问题概述
新增记录表单中,日期字段会自动预填为明天(today+1)。经验证,浏览器本地时间与服务端时间均正确,仅日期控件的预填值偏移 +1 天,且该值会被真实写入存储(非显示问题)。

复现步骤
- 打开任意工作表,点击「新增记录」
- 观察日期字段的默认值
- 不做任何修改直接提交
- 查询该记录,读取日期字段的实际存储值
关键证据(同一条记录、同一时刻)
| 项 | 实际值 | 正确性 |
|---|---|---|
浏览器 new Date().toString() |
Tue Sep 22 2026 19:26:08 GMT+0800 (China Standard Time) |
✅ 正确 |
记录系统字段 _createdAt |
2026-09-22 19:28:08 |
✅ 正确 |
| 日期字段实际存储值 | 2026-09-23 |
❌ +1 天 |
项实际值正确性浏览器 new Date().toString()``Tue Sep 22 2026 19:26:08 GMT+0800 (China Standard Time)✅ 正确记录系统字段 _createdAt``2026-09-22 19:28:08✅ 正确日期字段实际存储值**2026-09-23**❌ +1 天 > 浏览器时间正确、服务端时间正确、同一记录的创建时间正确,唯独日期控件预填值为次日。已排除时区与设备时钟:GMT+0800,且北京时间 15:00 时已复现,而全球最快时区 UTC+14 当时也才 21:00,不可能是次日。
影响范围
应用内所有工作表、所有日期字段均复现,非单表特例。
已排除的配置(均已关闭/清空/修改,仍复现)
- 字段默认值为空
defaultValue: [] - 保留上次提交内容(retainSubmittedValues)→ 关闭后仍复现
- 保存草稿(draftsEnabled)→ 关闭后仍复现
- AI 填充(aiFillEnabled)→ 关闭后仍复现
- 字段事件 / 联动 → 界面显示为空
- 删除字段并重建 → 仍复现(说明不是残留的字段级配置)
- 修改字段名(原「费用日期」→「日期-MCP」)→ 仍复现(排除按名称绑定的规则)
- 清空别名 alias、关闭必填 required、切换 subType、切换 format、补/清 placeholder → 逐项验证均仍复现
- 设备 / 浏览器时区 → GMT+0800,
new Date()结果正确
疑似关键线索(对定位最有帮助的一条)
同一张表内放两个 Date 字段做对照:
| 字段名 | 创建方式 | 是否预填次日 |
|---|---|---|
| 日期-MCP | API / MCP 创建 | ❌ 预填 +1 |
| 日期-手工建立 | HAP 界面手动创建 | ✅ 不预填 |
字段名创建方式是否预填次日日期-MCP****API / MCP 创建 ❌ 预填 +1 日期-手工建立****HAP 界面手动创建 ✅ 不预填且我已将两字段的全部属性逐项对齐,现在完全一致,仅剩 id 与 name 两项差异(id 平台生成无法修改):
subType=0, required=false, alias=空, placeholder=请选择日期,
format=yyyy-MM-dd, defaultValue=[], isHidden=false,
isReadOnly=false, isUnique=false, remark/desc=空,
advancedSettings.allowtime/sorttype/isdecrypt 全同
→ 属性完全相同,预填行为却不同,指向:
- API 创建的字段带有某个未通过接口暴露的隐藏属性;或
- 预填逻辑只作用于表单中的第一个日期字段(「日期-手工建立」排在其后)
附带发现(疑似另一个 Bug)
日期字段显示格式设为 yyyy-MM-dd 时,实际渲染成 2026-09-三(把「日」渲染成了星期几);改用 YYYY-MM-DD 则正常。但接口写入 YYYY-MM-DD 后,读回会被规范化为 yyyy-MM-dd。
环境信息
- 组织 / 应用:(按需填写)
- 客户端:Chrome / Windows
- 复现时间:2026-09-22 19:26 起
期望结果
日期字段预填值应与浏览器本地日期一致(2026-09-22)。
方总,这个问题,我们已经再看了,有结果及时给你同步消息。