在 angular js 过滤器中格式化时间
Format time in angular js filter
如何重新格式化时间 06:31:04 以仅显示 hh:mm - 06:31
尝试过
$scope.date = '06:31:04';
<p ng-bind="date | date:'HH:mm'"></p>
但是时间没有格式化
我应该怎么做,谢谢
<p ng-bind="date | date:"hh:mm"}}></p>
此外,我认为您的日期格式有误。因为
JavaScript Date instance [...] represents a single moment in
time. Date objects are based on a time value that is the number of
milliseconds since 1 January, 1970 UTC. (source)
示例:1288323623006。因此过滤器无法识别您的格式。
尝试:
$scope.date = new Date();
如果您想将给定格式的字符串转换为日期,请尝试:
var dateElements = "06:31:04".split(':');
var date = new Date();
date.setHours(time[0]);
date.setMinutes(time[1]);
$scope.date = date;
然后你可以用过滤器格式化它。
最好的解决办法是写一个过滤器
angular.module('foo', [])
.filter('formatTime', function ($filter) {
return function (time, format) {
var parts = time.split(':');
var date = new Date(0, 0, 0, parts[0], parts[1], parts[2]);
return $filter('date')(date, format || 'h:mm');
};
});
{{ '06:31:04' | formatTime }}
您可以使用下面的简单示例:
$scope.date=new Date();
现在 html 我们有:
<h2>
{{ today| date:'hh:mm' }}
</h2>
如何重新格式化时间 06:31:04 以仅显示 hh:mm - 06:31
尝试过
$scope.date = '06:31:04';
<p ng-bind="date | date:'HH:mm'"></p>
但是时间没有格式化
我应该怎么做,谢谢
<p ng-bind="date | date:"hh:mm"}}></p>
此外,我认为您的日期格式有误。因为
JavaScript Date instance [...] represents a single moment in time. Date objects are based on a time value that is the number of milliseconds since 1 January, 1970 UTC. (source)
示例:1288323623006。因此过滤器无法识别您的格式。 尝试:
$scope.date = new Date();
如果您想将给定格式的字符串转换为日期,请尝试:
var dateElements = "06:31:04".split(':');
var date = new Date();
date.setHours(time[0]);
date.setMinutes(time[1]);
$scope.date = date;
然后你可以用过滤器格式化它。
最好的解决办法是写一个过滤器
angular.module('foo', [])
.filter('formatTime', function ($filter) {
return function (time, format) {
var parts = time.split(':');
var date = new Date(0, 0, 0, parts[0], parts[1], parts[2]);
return $filter('date')(date, format || 'h:mm');
};
});
{{ '06:31:04' | formatTime }}
您可以使用下面的简单示例:
$scope.date=new Date();
现在 html 我们有:
<h2>
{{ today| date:'hh:mm' }}
</h2>