将moment.js与Meteor一起使用以写入过去的天/小时/月
我在一个流星项目中使用。。。 (套餐:) 我想写一些像将moment.js与Meteor一起使用以写入过去的天/小时/月,meteor,momentjs,Meteor,Momentjs,我在一个流星项目中使用。。。 (套餐:) 我想写一些像 “用户:jsmith四年前加入” 我一定错过了从mongoDB日期到现在的转换 json对象mongo { "_id" : "vWM5Sg67fqxQAzrnv", "createdAt" : ISODate("2015-03-14T03:39:03.384Z"), "emails" : [ {... etc. 当我把它输入控制台时 Meteor.user().createdAt; 返回 Mon Mar 16 2015 14:11:
- “用户:jsmith四年前加入”
{
"_id" : "vWM5Sg67fqxQAzrnv",
"createdAt" : ISODate("2015-03-14T03:39:03.384Z"),
"emails" : [
{... etc.
当我把它输入控制台时
Meteor.user().createdAt;
返回
Mon Mar 16 2015 14:11:54 GMT-0400 (EDT)
在我的test.js文件中
这很有效
var d= new Date('2011-04-11')
var dd= moment(d).format('MM/DD/YYYY');
console.log (dd); // returns 04/10/2011
var dd = moment([1954, 5, 8]).fromNow(true); // 4 years
console.log (dd);
这很有效
var d= new Date('2011-04-11')
var dd= moment(d).format('MM/DD/YYYY');
console.log (dd); // returns 04/10/2011
var dd = moment([1954, 5, 8]).fromNow(true); // 4 years
console.log (dd);
返回61年
this **DOESN'T** work
d = Meteor.user().createdAt;
var dd= moment([d]).fromNow(true);
console.log (dd);
返回TypeError:undefined不是对象(正在计算)
Meteor.user().createdAt')
任何帮助都将不胜感激,我们已经尝试了一段时间。
注意:在我的模板中
{{currentUser.createdAt}}
是否有作品(即已出版)
Rob这可能是一种竞赛条件,用户在代码执行时没有登录。解决这个问题的一个好方法就是创建一个助手,当用户登录时它将重新运行。但是,在这种情况下,我认为为时刻时间戳添加通用帮助器可能更合适:
Template.registerHelper('fromNow',函数(日期){
若有(日期)
返回时间(日期)。从现在开始(真);
});
然后在模板中可以执行以下操作:
{{fromNow currentUser.createdAt}}
因为currentUser
是被动的,所以这样做应该是正确的。还要注意,moment([d])
是不正确的,因为在本例中,d
是一个Date
对象(不像上一个示例那样是数组文字)。它可以工作!我添加了加入:{{fromNow currentUser.createdAt}}}
更新:{{{fromNow currentUser.updatedAt}}
-我必须添加我的简单模式-想知道为什么他们不在Meteor中包含updatedAt?你为我节省了很多时间。谢谢that moment.js也是一个很棒的包。。。我总是觉得操纵约会很困难。