CloudFunctionsでサーバー時刻を取得する(実際取得してる先はfirestore)


複雑な家庭の事情でどうしてもCloudFunctionsでサーバー時刻を取得する必要があったのでメモ。

結論として、これ一択。

admin.firestore.Timestamp.now()

timestamp型のデータができあがるので、._secondsをつけるなり.toDate()をつけるなりして好きに扱ってやってほしい。

firebase.firestore.FieldValue.serverTimestamp()は用途が限られる

「Firebaseプロジェクトでサーバー時刻を取得したい」
と思って検索すると
firebase.firestore.FieldValue.serverTimestamp()でできるよ」
という回答がネット上に溢れているが、これはfirestoreへ書き込む時にサーバー時刻を取得してよしなに書き込んでくれるというもので、書き込み時以外には使えないので注意です。