go之如何在 GORM 中定义日期
JeffreyZhao
阅读:153
2025-06-02 22:19:02
评论:0
看起来 GORM 不支持 DATE 类型,定义日期的唯一方法是通过
时间。时间:
type Header struct {
Start time.Time `json:"period_start"`
End time.Time `json:"period_end" `
CreatedAt time.Time `json:"created_at" sql:"DEFAULT:CURRENT_TIMESTAMP"`
CreatedBy string `json:"created_by"`
UpdatedAt time.Time `json:"updated_at" sql:"DEFAULT:CURRENT_TIMESTAMP"`
UpdatedBy string `json:"updated_by"`
}
因此创建的表将具有 TIMESTAMP 作为类型。有没有解决的办法?我试过 sql:"DATE",没用
请您参考如下方法:
使用 time.Time类型定义 Date在戈姆
type Header struct {
StartDate time.Time `json:"start_date"`
...
}
数据库表
CREATE TABLE `header` (
...
`start_date` DATE DEFAULT NULL
)
解析日期字符串使用这个
format := "2006-01-02"
date, _ := time.Parse(format, "2019-07-10")
为办理
time.Time正确,您需要包含
parseTime作为连接参数。
db, err = Open("mysql", "gorm:gorm@/gorm?charset=utf8&parseTime=True")
更新:
现在我们可以使用 GORM Customized Data Types Collection日期
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



