Moment.js无法识别ISO日期格式

时间:2019-01-09 08:38:10

标签: javascript reactjs momentjs

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

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

对项目进行排序时,会调用moment.js并在控制台中警告我

  

弃用警告:提供的值不在公认的RFC2822中或   ISO格式。的建设回落到js Date(),这不是   在所有浏览器和版本中均可靠。非RFC2822 / ISO日期   不鼓励使用这些格式,并将在以后的主要版本中将其删除   发布。请参阅   http://momentjs.com/guides/#/warnings/js-date/了解更多信息。

我要保存到数据库的日期格式为2019-01-09T07:55:34.665Z。 我一直在阅读文档,并按照说明进行如下操作以指定日期格式: moment('2019-01-09T07:55:34.665Z', 'ddd, D MMM YYYY H:m:s Z') 但是,它仍然向我发出警告。如何解决此警告?

2 个答案:

答案 0 :(得分:-1)

尝试分别指定格式,例如

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

'Wed,9 Jan 2019 15:55:34 +08:00'

答案 1 :(得分:-1)

我希望看到数据库应用时间戳。这将取决于您使用的是什么数据库以及可能使用的orm。

在javascript中,正如评论中提到的那样,只需执行...

createdAt : new Date().toISOString()