🐡
Prismaタイムゾーン
Prismaの動作:
- Prismaを使用してデータを保存する際、日時データは自動的にUTCとして保存されます。
- システムやデータベースのタイムゾーン設定(例:JST)が考慮されないため、UTC時間でデータがデータベースに保存されます。
データベースの確認:
- データベースを直接確認すると、日時データはUTC時間で保存されています。
- 例:2020年6月20日13:00 JSTで保存したい場合、データベースには2020-06-20 04:00:00 UTCとして保存されます。
クライアント側での変換:
- データを取得する際、クライアント側でUTC時間をJSTなどのローカルタイムゾーンに変換する必要があります。
- これにより、ユーザーに正しいローカル時間を表示できます。
ミドルウェアで日時を調整する
具体的には、Prismaは保存するときにUTCに変換し、取得するときはUTCとして解釈します。JSTとして保存するためには、登録するときに+9hし、取得するときに-9hすればよいです。
このように、Prismaを使用する場合、データベースにはUTC時間が保存されるため、クライアント側で適切なタイムゾーンに変換する処理を追加することが重要です。
もしくはデータベース では utc で保存するというのが無難かもしれません。
Discussion