亚洲国产第一_开心网五月色综合亚洲_日本一级特黄特色大片免费观看_久久久久久久久久免观看

Hello! 歡迎來到小浪云!


Prisma 操作 MySQL 數據時間少 8 小時,怎么回事?


avatar
小浪云 2024-11-09 296

Prisma 操作 MySQL 數據時間少 8 小時,怎么回事?

為什么 Prisma 操作 mysql 數據庫時,數據的時間少了 8 小時?

在 Next.JS 項目中使用 Prisma 連接騰訊云 MySQL 5.7 數據庫時,通過 select TIMEDIFF(NOW(), UTC_TIMESTAMP) 查詢得到的結果為 08:00:00,表明數據庫時區應該沒問題。然而,通過 Prisma 創建的數據時間卻少了 8 小時。

原因分析

數據庫本身不存儲時區信息,因此需要約定數據庫保存的時間是 UTC 還是某個地方的本地時間。通常建議使用 UTC 時間,方便轉換。

在存取數據時需要進行時區轉換。將本地時間轉換為 UTC 時間后再存儲。取數據時逆向轉換。服務端通常使用 UTC 時間。

解決方式

  • 在服務端轉換時間:將瀏覽器端傳遞的時間轉換為 UTC 時間。
  • 使用服務端當前時間:非用戶指定時,可以使用服務端當前時間替代。

參考鏈接

  • [考慮時區了嗎?](https://segmentfault.com/a/1190000023884129)

相關閱讀