求助一个有关 nest.js 中的问题。

查看 206|回复 12
作者:qq309187341   
我使用 nest.js+typeorm 进行后端开发。我在实体类中定义了一个创建时间
@Column({ type: "timestamp", default: () => "CURRENT_TIMESTAMP", unique: true })
然后取出数据的时候,格式是日期形式的"create_time": "2023-08-27T21:55:45.000Z",
这个格式,前端接收了需要再转一下。才能变成 '2021-08-31 07:56:10'.
要么一种就是在服务层对取出的数据在转化一下。
想要问一下,实体类中有没有办法对取出的数据进行转化。

NEST, 取出, 服务层, 格式

NessajCN   
需要转什么?
timestamp 发到前端你 new Date(timestamp) 直接用就好了呀
githmb   
你变量的数据类型是 String 吧?改成 Date 就行了
mdn   
转换后的时间是没有时区,非 +8 时区用户会看到不正确的时间
应该前端接收 iso 、时间戳,js 转换时间
Belmode   
https://docs.nestjs.com/techniques/serialization
@Transform
lzgshsj   
显示啥样这不就该是前端的活吗
qq309187341
OP
  
@NessajCN 发给前端的格式不一样,还需要转一下。所以我想直接在后端进行转化了。类似 java 里面的 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")这样的注解
qq309187341
OP
  
@githmb 是 Date 的,但是存入数据库后取出来是 2023-08-27T21:55:45.000Z"这样的,我希望是 2021-08-31 07:56:10 这样。希望在实体类中就能转化掉。java 中有 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")的注解,我想知道 typeorm 里面有没有类似的注解
NessajCN   
@qq309187341 你直接发 timestamp 有什么问题?
NessajCN   
如果你怕直接发 Date 对象不好 serialize,那你+Date 一下发 int64 呗,为啥要费那老劲弄一长串字符串
您需要登录后才可以回帖 登录 | 立即注册

返回顶部