jsのDate+firestore.Timestampの組み合わせの場合、タイムゾーンはそんなに気にしなくていい
TL;DR
- jsのDateもfirestore.Timestampもエポックミリ秒を持っているだけ
- よってDate <==> Timestampの相互変換は可逆的
- jsのDateはブラウザが勝手にタイムゾーンを決める
- ただ、ゾーン切替のテストをしたい場合や、別ゾーン表示は面倒
jsのDateもfirestore.Timestampもエポックミリ秒を持っているだけ
consoleの出力やfirestoreの標準DBツールを見ると、TimeZoneまで表示される場合がありますが、
これはブラウザやDBツールが勝手にタイムゾーンを判断して出しているだけで、
どちらも内部的にはエポックミリ秒として管理されています。
DateのgetHoursやgetDate
で出る値も、Dateが裏でよろしくやってくれています。
よって、別タイムゾーンでDateをfirestore.Timestamp形式でfirestoreに格納し、
別タイムゾーンのクライアントから呼び出してtoDate
して表示すると、
いい具合にクライアントのタイムゾーンに切り替えて表示してくれます。
が、あえて変えたい場合は面倒
但し、このよろしくやってくれるタイムゾーン判定、
逆に手動で切り替えるAPIが標準で用意されていません。
別タイムゾーンでの挙動テストや、別タイムゾーンの時間で表示したい場合は
手計算をしたりとか、ライブラリの導入等が必要になります。
Author And Source
この問題について(jsのDate+firestore.Timestampの組み合わせの場合、タイムゾーンはそんなに気にしなくていい), 我々は、より多くの情報をここで見つけました https://qiita.com/xx2xyyy/items/90e19a57d52583911fc8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .