使用的框架是gin
跟gorm
。现在前端请求接口是上传的是个时间戳。应该怎么处理才能让接收到的时间戳自动转为time.Time
. 前端传过来的是一个json数据。当使用ShouldBindJSON
的时候,解析就出问题了。
使用的框架是gin
跟gorm
。现在前端请求接口是上传的是个时间戳。应该怎么处理才能让接收到的时间戳自动转为time.Time
. 前端传过来的是一个json数据。当使用ShouldBindJSON
的时候,解析就出问题了。
这个没有自动转的办法吧,一般都是前后端商量好用什么格式的,如果不一致,你只能接收了之后自己转了,或者用Gorm的钩子:
type A struct{
ID uint64
CreatedUnix uinit64 `json:"CreatedAt" sql:"-"`
CreatedAt *time.Time `json:"-"`
}
func (a *A) BeforeSave() error {
t := time.Unix(a.CreatedUnix, 0)
a.CreatedAt = &t
return nil
}
我在用 gin
@ v1.4
版本, json 是支持直接转换成 time.Time
类型的。
不过不支持自定义数据格式。即只能支持 RFC3339
格式(即 "2006-01-02T15:04:05Z07:00"
)的类型。
1 回答1.9k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
1 回答879 阅读✓ 已解决
1 回答825 阅读✓ 已解决
1 回答1.5k 阅读
在使用的时候自定义一个类型
TimeStamp
实现相应的方法即可:代码如下: