我有来自服务器的数据要显示。我收到了这样的字符串:2016-05-01
。我需要以该格式过滤两个日期之间的数据。我有一个函数来解析日期:
$scope.parseDate = function (date) {
return new Date(Date.parse(date));
}
在我的html中,我用这个显示日期:
{{ parseDate(item.startDate) }}`
但在浏览器中,结果为:"2016-07-12T00:00:00.000Z"
。
我需要将字符串解析为与服务器相同的格式:2016-05-01。
我需要一个简单的过滤功能。
我不想使用moment.js
。我的后端平台是JavaScript。
答案 0 :(得分:2)
在你的html中试试这个:
{{item.startDate | date: 'MMM dd, yyyy'}}
答案 1 :(得分:0)
像
这样的东西function(date) {
var d = new Date(Date.parse(date));
return d.getDate() + " " + d.getMonth() + " " + d.getFullYear();
}
显然,这取决于您希望输出的日期格式。
请记住,函数不是以角度格式化日期的最佳方法,因为它会连续执行并导致性能问题。您应该使用像这样的过滤器
app.filter('mydate', function () {
return function (input) {
if (input) {
var d = new Date(input);
return d.getDate() + " " + d.getMonth() + " " + d.getFullYear();
}
};
});
答案 2 :(得分:0)
在您的HTML文件中,尝试使用
{{ parseDate(item.startDate) | date:'yyyy-MM-dd'}}
答案 3 :(得分:0)
您可以使用Angular提供的内置date
过滤器。
像这样;
{{ date_variable | date:'dd-mm-yyyy' }}
答案 4 :(得分:0)
您可以像下面一样使用AngularJS过滤器 -
$scope.parseDate = function (date) {
$filter('date')(new Date(Date.parse(date)), 'yyyy-MM-dd');
}