Как мога да преформатирам време 06:31:04, за да се показва само hh: mm - 06:31
Опитали са
$scope.date = "06:31:04";
<p ng-bind="date | date:"HH:mm""></p>
но времето не се форматира
Как да го направя, благодаря
Отговори:
8 за отговор № 1Най-доброто решение беше да напишете филтър
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 }}
4 за отговор № 2
Вижте документация.
<p ng-bind="date | date:"hh:mm"}}></p>
Освен това мисля, че форматът на вашата дата е грешен. защото
JavaScript Дата екземпляр [...] представлява един момент в време. Обектите за дата се базират на времева стойност, която е броят на милисекунди от 1 януари 1970 г. по UTC. (източник)
Пример: 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;
След това можете да го форматирате с филтъра.
0 за отговор № 3
можете да използвате следния прост пример:
$scope.date=new Date();
сега в html имаме:
<h2>
{{ today| date:"hh:mm" }}
</h2>