我有一个mysql表,用来存储像闹钟这样的预定任务。
表示的设计如下:
mysql中的:
CREATE TABLE if not EXISTS `tasks`
(
//....other fields
`start_time` timestamp NOT NULL ,
`end_time` timestamp NOT NULL ,
)In golang:
type Tasks struct {
//....other fields
StartTime time.Time `json:"start_time" xorm:"start_time"`
EndTime time.Time `json:"end_time" xorm:"end_time"`
}我想问的是,假设我将mysql中的tasks表更改为如下所示:
CREATE TABLE if not EXISTS `tasks`
(
//....other fields
`start_time` time NOT NULL ,
`end_time` time NOT NULL ,
)我的Tasks结构应该如何在戈朗设计?
我想将timestamp改为time的原因是我只需要时间,而不需要日期信息。
有什么好建议吗?
发布于 2021-09-09 08:56:20
我认为您需要将StartTime和EndTime更改为[]byte,并自己解析它以获得time.Time类型。
你可以这样做:
type sqlTime []byte
func (s sqlTime) Time() (time.Time, error) {
return time.Parse("15:04:05",string(s))
}https://stackoverflow.com/questions/69114635
复制相似问题