/ / Форматиране на времето във ъглов js филтър - javascript, angularjs, дата, час, филтър

Формат време в ъглова js филтър - javascript, angularjs, дата, време, филтър

Как мога да преформатирам време 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>