登录
首页 >  数据库 >  MySQL

Prisma 操作 MySQL 数据时间少 8 小时,怎么回事?

时间:2024-12-09 11:57:55 299浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《Prisma 操作 MySQL 数据时间少 8 小时,怎么回事?》,正文内容主要涉及到等等,如果你正在学习数据库,或者是对数据库有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

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)

本篇关于《Prisma 操作 MySQL 数据时间少 8 小时,怎么回事?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于数据库的相关知识,请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>