You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ng-it设置输入框默认值为当日日期(Plunker代码求助)

如何在AngularJS中将日期输入框默认值设为当日日期

你现在的代码里手动指定了固定日期2018-01-24,要实现动态显示当日日期,只需要修改ng-init里的逻辑,用JavaScript的Date对象生成符合input[type="date"]要求的YYYY-MM-DD格式字符串即可。

解决方案代码

这里提供两种写法,一种是兼容旧版AngularJS的ES5写法,另一种是更简洁的ES6写法:

兼容ES5的版本(适合所有AngularJS版本)

<div ng-app="" ng-init="
  var today = new Date();
  var year = today.getFullYear();
  // 月份从0开始计数,加1后补零确保两位格式
  var month = ('0' + (today.getMonth() + 1)).slice(-2);
  // 日期补零确保两位格式
  var day = ('0' + today.getDate()).slice(-2);
  to = year + '-' + month + '-' + day;
">
  <p>Default date in the input box:</p>
  <p>Name: <input type="date" ng-model="to"></p>
  <p>You wrote: {{ to }}</p>
</div>

ES6简洁版本(如果你的环境支持ES6语法)

<div ng-app="" ng-init="
  const today = new Date();
  const year = today.getFullYear();
  const month = String(today.getMonth() + 1).padStart(2, '0');
  const day = String(today.getDate()).padStart(2, '0');
  to = `${year}-${month}-${day}`;
">
  <p>Default date in the input box:</p>
  <p>Name: <input type="date" ng-model="to"></p>
  <p>You wrote: {{ to }}</p>
</div>

关键逻辑说明

  • new Date():获取当前设备的日期时间对象
  • getFullYear():提取四位数字的年份(比如2024)
  • 月份处理:getMonth()返回0-11的数字,所以要加1得到实际月份,再通过padStart(2, '0')或('0' + ...).slice(-2)补零,确保格式是两位(比如1月变成01)
  • 日期处理:同样用补零方法确保日期是两位数字(比如5号变成05)
  • 最后拼接成YYYY-MM-DD格式,赋值给to变量,这样ng-model绑定后,输入框就会自动显示当日日期了。

这样修改后,每次页面加载时,输入框都会自动填充当天的日期,而且{{ to }}也会同步显示正确的日期格式。

内容的提问来源于stack exchange,提问作者R. Mani Selvam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:20:34