Javascript S3 Node.js SDK,上次修改的日期格式?

Javascript S3 Node.js SDK,上次修改的日期格式?,javascript,node.js,amazon-web-services,amazon-s3,sdk,Javascript,Node.js,Amazon Web Services,Amazon S3,Sdk,我正在使用s3sdkfornode发出请求并列出bucket内容(照片)。然后,我需要根据上次修改的日期对这些内容进行排序。这是它返回日期的格式(我不确定该格式是什么/为什么AWS会这样做: Tue Jul 05 2016 11:00:52 GMT-0400 (EDT) 我尝试使用Date.parse()方法并使用来解析,但没有效果 事实上,Moment说这是一个无效的日期: var day = moment("Tue Jul 05 2016 11:00:52 GMT-0400 (EDT)")

我正在使用s3sdkfornode发出请求并列出bucket内容(照片)。然后,我需要根据上次修改的日期对这些内容进行排序。这是它返回日期的格式(我不确定该格式是什么/为什么AWS会这样做:

Tue Jul 05 2016 11:00:52 GMT-0400 (EDT)
我尝试使用
Date.parse()
方法并使用来解析,但没有效果

事实上,Moment说这是一个无效的日期:

var day = moment("Tue Jul 05 2016 11:00:52 GMT-0400 (EDT)").isValid(); // false

以前是否有人在使用S3 Node SDK时遇到过这种情况?为什么日期的格式是这样的?

这似乎正确地解析了您的日期:

moment('Tue Jul 05 2016 11:00:52 GMT-0400 (EDT)', 'ddd MMM DD YYYY HH:mm:ss ZZ')

当我今天看这篇文章时,我注意到S3中对象的
LastModified
日期的格式与最初发布的不一样。这是我从S3得到的回复:(注意日期和月份被翻转)

LastModified:“2017年2月6日星期一00:00:35 GMT”

因此,我必须根据@idbehold的答案更新格式


const lastModified=moment(result.lastModified,'ddd,DD MMM yyy HH:mm:ss ZZ');

您必须为解析器指定日期格式,以了解如何解析它。根据moment.js文档“如果您知道要解析的日期字符串的格式,那么显式指定该格式始终是最佳选择。”我想在这里了解如何指定格式:@MarkB,是的,这就是我的想法。但是矩.js没有上述组合的格式,如“Tue”和“Jul”(月名而不是数字)是的,请阅读文档:根据,它已经是一个
Date
对象……如果文档正确,您似乎不需要解析它。