はじめに
FireBaseのTimeStamp型のデータ同士を計算したい時に変換で少し詰まったので簡単にまとめてみます。
やりかた
これでいけました
const newArray = [...datas, newData].sort(
(a, b) => b.createdAt.toDate().getTime() - a.createdAt.toDate().getTime()
);
細かく分解すると
createdAt(Firebaseで用意されているTimeStamp型)
nt {seconds: 1668498018, nanoseconds: 349000000}
toDate()でDate型に変換
Tue Nov 15 2022 16:40:18 GMT+0900 (日本標準時)
getTime()で日付と時刻の値を1970年1月1日 00:00:00 UTCからの経過ミリ秒の値に変換
1668498018349
おわりに
時刻系の変換は毎回詰まるので慣れていきたいです。