input date 的 value 必须为 YYYY-MM-DD 格式字符串,设置明天日期需用 JavaScript 获取当前日期、加一天、补零格式化,推荐在 DOM 就绪后立即执行以避免闪烁,并注意本地时区与边界情况。

date input 的 value 属性必须是 ISO 格式字符串
HTML <input type="date"> 不支持直接写 value="tomorrow" 或类似表达式。浏览器只认严格格式的 YYYY-MM-DD 字符串,比如 "2024-06-15"。任何其他格式(如带时间、斜杠分隔、中文)都会导致输入框显示为空或回退到初始状态。
用 JavaScript 计算明天日期并赋值
核心是生成合法的 ISO 字符串:获取当前日期 → 加 1 天 → 格式化为 YYYY-MM-DD。注意月份和日期必须补零,否则 new Date().toISOString().split('T')[0] 在某些时区下可能不准(比如 UTC 时间比本地早,导致“明天”错成“今天”)。
推荐做法:
- 用
new Date()创建当前日期对象 - 调用
setDate(getDate() + 1)直接在本地时区加一天 - 手动拼接
getFullYear()、getMonth() + 1、getDate(),并用String().padStart(2, '0')补零
示例代码:
立即学习“前端免费学习笔记(深入)”;
const tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
const formatted = `${tomorrow.getFullYear()}-${String(tomorrow.getMonth() + 1).padStart(2, '0')}-${String(tomorrow.getDate()).padStart(2, '0')}`;
document.querySelector('input[type="date"]').value = formatted;
页面加载后立即设置,避免用户看到空白再跳变
如果 JS 执行太晚(比如放在



















