为什么 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)
以上就是Prisma 操作 MySQL 数据时间少 8 小时,怎么回事?的详细内容,更多请关注抖狐科技其它相关文章!
-
减负不减乐 九阴真经十月新版本前瞻
随着时间的推移,国庆长假已近在眼前。继八月资料片公测、真武风华节开启,《九阴真经》的江湖即将迎来十月的全新篇章。本次新版本以“真轻松”“大减负”为两大核心宗旨,对江湖中的诸多经典玩法、隐世门派等内容进...
-
原神恰斯卡培养材料需要哪些一览 原神恰斯卡培养材料需要哪些攻略
想要在原神中获得强大的战斗力,那么就只能通过自身的操作获取一些强力装备和一些其他方法。如果你想知道原神恰斯卡培养材料需要哪些,以原神来提高自己的战斗力,让自己变得更强,那么就跟随php中文网小编一起来...
-
java怎么安装ei
要在 java 中安装 ei,请按照以下步骤操作:添加 ei 依赖项。创建 elasticsearch 客户端。创建 ei 索引。设置 ei 映射。索引数据。搜索数据。如何在 Java 中安装 EI?...
-
为什么都用折叠屏手机
随着技术的成熟,折叠屏手机受到欢迎的原因包括:展开时更大的显示面积,带来沉浸式体验。折叠时体积小巧,便于携带。屏幕可折叠和展开,提供多场景使用。展开可提升生产力,像平板电脑一样工作。独特的外观设计,满...
-
App 用户登录后如何保持登录状态?
App 用户登录后保持登录状态的机制 在现代 App 开发中,用户登录后可以在一定时间内保持登录状态,即使 App 处于未运行状态。这通常是通过将用户登录信息存储在设备本地并设置令牌有效期的机制来实现...