2016-07-05 7 views
0

ノードのS3 SDKを使用してバケットの内容(写真)をリクエストしています。私はをこれらの内容はLastModified日付に基づいてソートする必要があります。これは私がその形式が偶数/なぜAWSはそのようにそれをやっていることは本当にわからないんだけど、それは返すの日付(の形式である:私はDate.parse()メソッドを使用して解析するMoment.jsを使用してみましたS3 Node.js SDK、LastModifiedの日付形式ですか?

Tue Jul 05 2016 11:00:52 GMT-0400 (EDT) 

が、 。無駄に実際に

、瞬間は、それが無効な日付だと言う:

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

は誰がS3ノードSDKで前にこれを経験しており、なぜこのようにフォーマットされた日付がある

+0

からの回答に基づいてフォーマットを更新しましたパーサーが解析する方法を知るためには、パーサーに日付形式を指定する必要があります。 Moment.jsのドキュメントによると、 "解析する日付文字列の形式を知っている場合、その形式を明示的に指定するのが最良の選択です。"私はここでフォーマットを指定する方法について読んでいます:http://momentjs.com/guides/#/parsing/ –

+0

@ MarkB、そう、それは私が思ったものです。しかし、Moment.jsには、 "Tue"や "Jul"(数字の代わりに月の名前)などの上記の組み合わせの書式はありません。 –

+0

はい、読んでください。http://momentjs.com/docs/#/構文解析/文字列/ –

答えて

1

これは正しく日付を解析するようだ:私はこの今日見

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

が、私はS3内のオブジェクトのLastModified日付の書式を気づいもともと投稿されたものと同じではありません。これは私が戻ってS3から得た応答である:(日と月が反転している気づく)

LastModified: 'Mon, 06 Feb 2017 00:00:35 GMT'

だから私は@idbehold

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