【发布时间】:2017-02-24 03:20:59
【问题描述】:
我正在使用moment.js 将日期格式化为从 mongodb 检索到的相对时间,并从 express 路由器传递给视图。
这是我的.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 文件中注释掉这一行,这就是输出(我猜 pug 会自动格式化日期)
// $('.memberSince')[0].innerHTML = moment().startOf(createdAt).fromNow(true);
任何帮助将不胜感激,谢谢。
存储在我的 MongoDB 数据库中的实际日期格式为:
【问题讨论】:
-
你想如何显示那个日期时间!相对或确切的日期时间
-
@Robus 我想在相对时间显示,因为我使用
.fromNow(true)参数true,正如doc 中提到的那样,隐藏了之前 中的工作文本。我想显示如下:Member since 4 days或Member since 5 months 7 days或Member since 3 years 5 months或Member since 3hrs,具体取决于数据库。 -
@Robus 我已经更新了问题信息。
-
尝试 .toNow(boolean) 代替 .fromNow(true)
-
这也可以使用,
var start = moment.startof(CreatedAt)var end = moment.now()end.to(start)有很多方法可以操纵它。请阅读文档。时间到 X 和时间到现在仔细
标签: node.js mongodb express pug momentjs