【问题标题】:How to display the time from now for date retrieved by MongoDB using momentjs?如何显示 MongoDB 使用 momentjs 检索的日期从现在开始的时间?
【发布时间】: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 daysMember since 5 months 7 days Member since 3 years 5 monthsMember 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


【解决方案1】:

我自己解决了这个问题。

实际上,我确实错过的是我必须将 String 传递给那一刻。

这里是已解决的.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() 对其进行了解析,然后将值作为字符串moment()

此外,您可以看到不需要.startOf(),我将true 参数传递给fromNow(),因为它只是从输出中删除了后缀ago,按照文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多