Javascript дата строки в угловую переменную ng-момент

У меня есть строка JavaScript в следующем формате:

2016-06-22T14:47:29.689358

Как бы я использовал ng-moment разобрать строку в моментальный объект, а затем отформатировать его в моем представлении?

https://github.com/urish/angular-moment

псевдокод:

$scope.time = "2016-06-22T14:47:29.689358";
<span am-time-ago="time | amParse:'YYYY.MM.DD HH:mm:ss'"></span>

Кажется, что время должно быть преобразовано в объект Date, прежде чем оно будет передано ng-moment,

3 ответа

Решение

Дата вообще не нужна, и на самом деле вам не следует использовать анализатор объекта даты, поскольку он ведет себя странным образом. У вас просто неправильный формат, указанный для вашей даты.

<span am-time-ago="time | amParse:'YYYY-MM-DDTHH:mm:ss.SSS'"></span>

Это должно быть все, что вам нужно.

Для получения дополнительной информации о том, почему даты анализируются ненадежно, вы можете увидеть этот вопрос.

Похоже, от этого просто хочет моментальный объект.

$scope.time = moment("2016-06-22T14:47:29.689358");

Изучая документацию, вы можете пойти с

Фильтр amFromUnix: преобразует метку времени Unix (секунды с 01.01.1970) в моментный объект. Пример:

<span am-time-ago="message.unixTime | amFromUnix">

Чтобы получить unixTime из строки даты, просто выполните следующее:

var unixTime  = new Date("2016-06-22T14:47:29.689358").getTime();
Другие вопросы по тегам