【问题标题】:moment.js and meteor, problems using stored momentsmoment.js 和流星,使用存储时刻的问题
【发布时间】:2014-07-14 11:52:17
【问题描述】:

我一定很想知道像 moment.js 这样的东西在流星中是如何工作的。我有一个应用程序,在某些地方我将直接向上的日期时间值存储在数据库中,然后将其转换为片刻,因此在模板帮助程序中是一个字符串。

我认为将矩变量直接存储在数据库中并跳过转换步骤可能更有效,但我没有成功使用 .fromNow() 或 .format() 将检索到的矩值转换为字符串.我不断收到未定义的错误。

我尝试使用的代码是

 submittedText: function() {
    var thedate = this.added;
    //var theformat = thedate.format("dddd, MMMM Do YYYY, h:mm:ss a");
    debugger;
    //return this.added.format("dddd, MMMM Do YYYY, h:mm:ss a");
    return moment(this.added).fromNow();
  }

在调试器中,我可以看到“thedate”持有正确的对象(具有正确的值),但 format() 或 fromNow() 只是抛出错误。我在这里错过了什么?

谢谢

【问题讨论】:

  • 在数据库中存储日期对象/时间戳不是更有效吗?

标签: javascript meteor momentjs


【解决方案1】:

Moment 是 Date 对象的 Wrapper,存储 moment 对象与存储 date 对象 (date.toString()) 相同。从 momentjs docs 开始,存储 moment 对象的最佳方式是作为 ISO-8601 字符串。您可以使用 toJson 从 moment 对象中获取 ISO-8601 字符串。

【讨论】:

  • 您实际上不需要手动将日期存储为字符串; Meteor 支持直接序列化Date 对象(并将它们存储为 EJSON 格式的 ISO-8601 字符串)。
猜你喜欢
  • 2018-07-27
  • 2019-04-02
  • 2017-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-12
  • 1970-01-01
相关资源
最近更新 更多