使用 Moment.js 自定义格式一段时间
Custom formatting for a time using Moment.js
我在使用 moment.js
格式化时间时遇到困难。我决定尝试 angular-moment
并面临一些限制,在查看 moment.js
的文档后,似乎创建一个使用 [=14= 的自定义指令会好得多].这就是我的问题,我对基本指令有一些经验和知识,但我不确定如何继续创建一个使用 moment
来格式化 date/time 的指令。所以,这是我要遵守的规则:
不到 1 分钟前:打印为 a few seconds ago
超过 1 分钟前 && 不到 1 小时前:打印为 X minutes ago
1 个多小时前:打印为 h:mm a
昨天(这应该比较这两天,看看是今天还是昨天):print as Yesterday
比昨天:打印为MMM DD
所以我真的不确定从哪里开始,欢迎任何帮助!
Moment.js 是要走的路!我建议您使用 angular filter 而不是指令。
以下是您可以使用 moment.js fromNow function:
实现的方法
var fromNow = function () {
return function (value, format) {
return moment(value).fromNow();
};
};
angular.module('myApp').filter('fromNow', fromNow);
您只需从 html:
调用它
<span>{{player.activeSince | fromNow}}</span>
我在使用 moment.js
格式化时间时遇到困难。我决定尝试 angular-moment
并面临一些限制,在查看 moment.js
的文档后,似乎创建一个使用 [=14= 的自定义指令会好得多].这就是我的问题,我对基本指令有一些经验和知识,但我不确定如何继续创建一个使用 moment
来格式化 date/time 的指令。所以,这是我要遵守的规则:
不到 1 分钟前:打印为 a few seconds ago
超过 1 分钟前 && 不到 1 小时前:打印为 X minutes ago
1 个多小时前:打印为 h:mm a
昨天(这应该比较这两天,看看是今天还是昨天):print as Yesterday
比昨天:打印为MMM DD
所以我真的不确定从哪里开始,欢迎任何帮助!
Moment.js 是要走的路!我建议您使用 angular filter 而不是指令。
以下是您可以使用 moment.js fromNow function:
实现的方法var fromNow = function () {
return function (value, format) {
return moment(value).fromNow();
};
};
angular.module('myApp').filter('fromNow', fromNow);
您只需从 html:
调用它<span>{{player.activeSince | fromNow}}</span>