GORM对实现datetime和date类型时间

作者: adm 分类: go 发布时间: 2023-02-05

model 定义

type Plan struct {
    Id int `gorm:"primary_key"`
    Title string `gorm:"column:title;not null;size:128"`
    Start time.Time  `gorm:"type:date;column:start"`
    End time.Time  `gorm:"type:date;column:end"`
    Created   time.Time `gorm:"autoCreateTime;column:created;type:datetime"`
    IsDelete int `gorm:"column:is_delete;default:1"`
}

  相比官网的例子,增加了type属性

执行:

db.AutoMigrate(&Plan{})
 

结果:

 

建议把类型改为string

type Plan struct {
    Id int `gorm:"primary_key"`
    User int `gorm:"column:user;not null"`
    Title string `gorm:"column:title;not null;size:128"`
    Start string `gorm:"type:date;column:start"`
    End string `gorm:"type:date;column:end"`
    Created   time.Time `gorm:"autoCreateTime;column:created;type:datetime"`
    IsDelete int `gorm:"column:is_delete;default:1"`
}

  这样gin处理前端发过来的时间比较友好,不然会出现这样的报错

parsing time "2019-09-06" as "2006-01-02T15:04:05Z07:00": cannot parse "" as "T"

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!