代码之家  ›  专栏  ›  技术社区  ›  p7adams

片刻js不识别ISO日期格式

  •  -3
  • p7adams  · 技术社区  · 7 年前

    在将新项目添加到我的数据库时,我正在通过以下方式为其创建新日期:

    const item = new Item({
        author,
        isOrdered,
        name,
        createdAt: new Date(Date.now()).toISOString()
      });
    

    排序项目时,时刻。调用js并在控制台中警告我

    弃用警告:提供的值不在可识别的RFC2822或 ISO格式。力矩构造回退到js Date(),这不是 在所有浏览器和版本中都可靠。非RFC2822/ISO日期 不鼓励使用格式,并将在即将到来的专业考试中删除 释放请参阅 http://momentjs.com/guides/#/warnings/js-date/ 了解更多信息。

    我保存到db的日期格式为 2019-01-09T07:55:34.665Z . 我一直在阅读文档,并按照说明做了如下操作,以指定日期格式: moment('2019-01-09T07:55:34.665Z', 'ddd, D MMM YYYY H:m:s Z') 但它还是给了我一个警告。如何绕过此警告?

    2 回复  |  直到 7 年前
        1
  •  -1
  •   Sadeesh Radhakrishnan    7 年前

    尝试单独指定格式,如,

    moment('2019-01-09T07:55:34.665Z').format('ddd, D MMM YYYY H:m:s Z')
    

    '2019年1月9日星期三15:55:34+08:00'

        2
  •  -1
  •   bbsimonbb    7 年前

    我更希望看到数据库应用时间戳。这在一定程度上取决于您使用的数据库和潜在的orm。

    在javascript中,正如注释中提到的,只需执行。。。

    createdAt : new Date().toISOString()