item.date = $filter('date')(item.date, "dd/MM/yyyy"); // for conversion to string

Http://docs.angularjs.org/api/ng.filter:date

但是如果使用 HTML5 type = “ date”,则必须使用 ISO 格式 yyyy-MM-dd。

item.dateAsString = $filter('date')(item.date, "yyyy-MM-dd");  // for type="date" binding




<input type="date" ng-model="item.dateAsString" value="\{\{ item.dateAsString }}" pattern="dd/MM/YYYY"/>

Http://www.w3.org/tr/html-markup/input.date.html

注意: 在 type = “ date”中使用 pattern = “”看起来并不标准,但是在 Chrome31中似乎以预期的方式工作。

创建一个 filter.js,您可以将其作为可重用的

angular.module('yourmodule').filter('date', function($filter)
{
return function(input)
{
if(input == null){ return ""; }
var _date = $filter('date')(new Date(input), 'dd/MM/yyyy');
return _date.toUpperCase();
};
});

风景

<span>\{\{ d.time | date }}</span>

或者在控制器里

var filterdatetime = $filter('date')( yourdate );

日期过滤和角度 js 格式化。

这里的所有解决方案并不真正将模型绑定到输入,因为您必须将 dateAsString修改回来,以便在对象中保存为 date(在表单提交后的控制器中)。

如果你不需要绑定效果只需要在输入中显示,

一个简单的方法可以是:

<input type="date" value="\{\{ item.date | date: 'yyyy-MM-dd' }}" id="item_date" />

然后,如果你愿意,在控制器中,你可以这样保存编辑过的日期:

  $scope.item.date = new Date(document.getElementById('item_date').value).getTime();

注意: 在控制器中,必须将 item变量声明为 $scope.item才能正常工作。

我在 Javascript 中建议:

var item=1387843200000;
var date1=new Date(item);

然后 date1是 Date。