Node.js 如何使用momentjs显示MongoDB检索到的日期从现在开始的时间?
我正在使用将日期格式化为从mongodb检索到的相对时间,并从express router传递到视图 这是我的Node.js 如何使用momentjs显示MongoDB检索到的日期从现在开始的时间?,node.js,mongodb,express,pug,momentjs,Node.js,Mongodb,Express,Pug,Momentjs,我正在使用将日期格式化为从mongodb检索到的相对时间,并从express router传递到视图 这是我的.pug文件: extends ../LoginLayout/LoginLayout block content - var createdAt = requser.local.profile.createdAt script(type="text/javascript"). $(document).ready(function() {
.pug
文件:
extends ../LoginLayout/LoginLayout
block content
- var createdAt = requser.local.profile.createdAt
script(type="text/javascript").
$(document).ready(function() {
var createdAt = createdAt;
$('.memberSince')[0].innerHTML = moment().startOf(createdAt).fromNow(true);
});
.parallax-container.display
.parallax
img(src='http://lorempixel.com/1920/900')
.container.white-text.center
img.circle(src=requser.local.profile.dp style='width: 200px;')
h1 #{requser.local.name}
h6 Member Since #[span.memberSince #{createdAt}]
这是浏览器中输出的屏幕截图:
更多信息 如果我从
.pug
文件中注释掉这一行,这就是输出(我猜帕格会自动格式化日期)
/$('.memberSince')[0].innerHTML=moment().startOf(createdAt).fromNow(true)代码>
任何帮助都将不胜感激,谢谢
我的MongoDB数据库中存储的实际日期格式如下:
我自己解决了这个问题
事实上,我错过的是,我必须将字符串传递到当前
以下是已解决的.pug
:
- var createdAt = requser.local.profile.createdAt
script(type="text/javascript").
$(document).ready(function() {
var createdAt = Date.parse('!{createdAt}');
console.log(createdAt);
$('.memberSince')[0].innerHTML = moment(createdAt).fromNow(true);
})
我还通过简单地使用var createdAt='获得了输出!{createdAt}
,但在浏览器的开发人员控制台中,它显示了一些传递字符串的已贬值警告,因此我使用date.parse()
,将其解析为date,然后将值作为字符串传递给moment()
另外,您可以看到不需要.startOf()
,我将true
参数传递给fromNow()
,因为它只是从输出中删除后缀ago,如文档所示 你想如何显示日期和时间!相对日期或确切日期time@Robus我想在相对时间中显示,因为我使用的是.fromNow(true)
参数true
,如中所述,在文本中隐藏之前的作品。我想显示如下内容:自4天以来的成员
或自5个月以来的成员7天
或自3年以来的成员5个月
或自3个月以来的成员
,具体取决于数据库。@Robus我更新了问题信息。改为try.toNow(布尔值)。从现在起(true)也可以使用,var start=moment.startof(CreatedAt)
var end=moment.now()
end.to(start)
有很多方法可以处理这个问题。请读给医生听。时间到X,时间到现在