2016-07-08 4 views
0

私は、fiddleの例では、UTC時刻をローカルのmomentjs時刻に変換しています。UTC(弾性検索)からMomentJs現地時間

私の例は正しく動作していませんが、私はその理由を理解しようとしています。

マイReactJSコードが適切な時刻を表示するには、以下の機能を実行します。

utcToLocalTime(utc_time) { 
    var localTime = moment.utc(utc_time).toDate() 
    console.log(localTime) // Tue Jun 21 2016 16:59:34 GMT-0700 (PDT) 

    var localTime_formatted = moment(localTime).format('YYYY-MM-DD HH:mm:ss') 
    console.log(localTime_formatted) //2016-06-21 16:59:34 
    return localTime_formatted 
    } 

しかし、私は希望:次のように関数は(ES6コード)である

<p>Created Date: {(this.utcToLocalTime(result._source.created_date))}</p> 

ローカルのようなものを表示する時間10:32 AM

momentJSを間違って使用していますか?

+0

したがって、am/pmの部分がありません。 aまたはAで解析するだけですか、何か問題がありますか?この例のfiddle:http://jsfiddle.net/ya1h7zk6/とここでの解析のためのドキュメントを参照してください:http://momentjs.com/docs/#/parsing/ – Dominik

+1

'toDate'を呼び出すか、日付オブジェクト。単に '.local()'を呼び出し、そこからフォーマットしてください。 –

答えて

1

私はあなたの質問を理解しているので、somehwat "normal"フォーマットからam/pm(12hシステム)に日付を解析したいと思っています。そのためには、ちょうどこのようなあなたのlocalTime_formattedテンプレートの最後にaを追加します。

utcToLocalTime(utc_time) { 
    var localTime = moment.utc(utc_time).toDate() 
    console.log(localTime) // Tue Jun 21 2016 16:59:34 GMT-0700 (PDT) 

    var localTime_formatted = moment(localTime).format('YYYY-MM-DD HH:mm a') 
    console.log(localTime_formatted) //2016-06-21 16:59:34 
    return localTime_formatted 
    } 

私はここにあなたのフィドルを更新:http://momentjs.com/docs/#/parsing/

http://jsfiddle.net/ya1h7zk6/

そしてここでは、文書を解析momentjsへのリンクです

編集:ところで、あなたは "ES6コード"と言っています。 )

+0

ありがとうございました、あなたは正しいですが、私は 'let'を使うべきです。 – ApathyBear