You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NestJS与Prisma时区问题:Timestamptz存储后返回GMT格式

关于NestJS + Prisma查询返回GMT时间的原因解析
  • Prisma客户端的默认行为
    Prisma在读取timestamptz类型字段时,会自动把数据库里带时区的时间转成UTC(GMT)格式的ISO 8601字符串返回。这是因为JavaScript的Date对象本身基于UTC时间戳存储,Prisma遵循这个特性,统一返回标准UTC格式(带Z后缀),确保跨时区场景下时间处理的一致性。

  • 数据库与客户端的时区转换逻辑
    你用@db.Timestamptz(5)确实让数据库存储了带时区信息的时间,但Prisma客户端读取时会做一层统一转换——把任意时区的时间转成UTC返回。这种设计是为了避免不同时区环境下时间展示混乱,让业务层可以拿到标准时间后,再按需转成对应本地时区。

  • NestJS本身不影响时间格式
    NestJS框架不会主动修改Prisma返回的时间格式,除非你在DTO、拦截器或者管道里自定义了处理逻辑。你看到的GMT格式时间,根源就是Prisma客户端的默认处理规则。

内容的提问来源于stack exchange,提问作者Muhammad Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 21:25:20