Javascript 日期字符串到 angular ng-moment 变量

Javascript date string to angular ng-moment variable

我有一个 javascript 字符串,格式如下:

2016-06-22T14:47:29.689358

如何使用 ng-moment 将字符串解析为 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>

似乎时间需要在传递给 ng-moment 之前转换为 Date 对象。

查看 documentation 你可以选择

amFromUnix 过滤器:将 unix 时间戳(自 1/1/1970 以来的秒数)转换为 moment 对象。示例:

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

要从日期字符串中获取 unixTime,只需执行以下操作:

var unixTime  = new Date("2016-06-22T14:47:29.689358").getTime();

看起来只是想要一个 moment 对象。

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

您根本不需要日期,事实上您不应该使用日期对象的解析器,因为它的行为很奇怪。您只是为日期指定了错误的格式。

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

这应该是你所需要的。

有关日期解析为何不可靠的更多信息,您可以参阅