web-dev-qa-db-ja.com

Firestoreの日付/タイムスタンプをJS Date()に変換するにはどうすればよいですか?

以下の日付をjavascript Date()オブジェクトに変換しようとしています。サーバーから取得すると、それはTimestampオブジェクトであり、

Firebase Firestoreコンソールのスクリーンショット:

enter image description here

Firestoreから返されたオブジェクトのリストで次のことを試してみると:

  list.forEach(a => {
    var d = a.record.dateCreated;
    console.log(d, new Date(d), Date(d))
  })

この出力を取得します:enter image description here

明らかに、タイムスタンプはすべて異なっており、2018年9月9日(今日はたまたま)と同じ日付ではありません。 new Date(Timestamp)invalid dateになる理由もわかりません。私は少しJS初心者ですが、日付やタイムスタンプに何か問題がありますか?

17
blueether

JavaScript Dateのコンストラクターは、Firestoreについて何も知りません Timestamp オブジェクト-それらをどうするかを知りません。

タイムスタンプを日付に変換する場合は、タイムスタンプで toDate() メソッドを使用します。

43
Doug Stevenson

ToDate()メソッドを使用してから、このようにangularパイプを使用して形式に変換してください-

{{row.orderDate.toDate()|日付: 'dd MMM hh:mm'}}

2
Naman Sharma