如何正式更改Angular UI Datepicker模型值格式angular?

How to change Angular UI Datepicker model value format in angular formly?

这里是UI格式angular日期选择器的默认格式

  {
    "date": "2015-10-05T18:30:00.000Z"
  }

如何把上面的格式改成

  {
    "date": "2015/10/05"
  }

这是 JSBIN:http://jsbin.com/cadaga/2/edit?html,js,output

通常,在模型中,您像已有的那样以 ISO 格式存储日期,然后使用 date 过滤器 (documentation) 根据需要在视图中对其进行格式化:

<div>{{vm.model.date | date: 'yyyy/MM/dd'}}</div>

如果您无论如何都想更改模型中的格式,请注入 $filter 并使用 date 过滤器,如下所示:

$filter('date')(date_value, format, timezone)

例如:

$filter('date')(vm.model.date, 'yyyy/MM/dd');

或者,如果您经常处理日期,moment.js 这样的库可能会有用。


编辑:注意到您想在 angular 的具体上下文中使用日期选择器组件正式更改日期模型值。 该组件需要日期模型值采用 标准格式 ,但您可以使用另一个 属性相应的格式化日期,您将设置 on change 日期输入:

HTML(在日期选择器上 input):

ng-change="vm.setFormattedDate(dt)"

控制器:

vm.setFormattedDate = function (datetime) {
    vm.model.formattedDate = $filter('date')(datetime, 'yyyy/MM/dd');
}