GORM中如何提取CreatedAt日期并在HTML中无时区显示
解决GORM CreatedAt字段仅显示日期的问题
你可以通过以下两种方式实现只显示日期部分:
方法1:模板内直接格式化
Go的time.Time类型自带Format方法,你可以在HTML模板里直接调用它,指定日期格式:
<p>{{.Videos.CreatedAt.Format "2006-01-02"}}</p>
注意这里的2006-01-02是Go固定的参考日期格式,不能随便替换成其他数字,它对应你需要的「年-月-日」输出格式。
方法2:给模型添加自定义方法
如果多个页面都需要用到格式化后的日期,给Video结构体加一个自定义方法会更便于代码复用:
type Video struct { gorm.Model Id int `form:"id" json:"id" validate:"required"` Video string `form:"video" json:"video" validate:"required"` Tumb string `form:"tumb" json:"tumb" validate:"required"` Title string `form:"title" json:"title" validate:"required"` Description string `form:"description" json:"description" validate:"required"` DisableAds bool `gorm:"default:false"` // UserIdVideo uint `gorm:"foreignKey:UserIdUserIdVideo"` } // GetCreatedDate 返回格式化后的创建日期字符串 func (v Video) GetCreatedDate() string { return v.CreatedAt.Format("2006-01-02") }
之后在HTML模板里调用这个方法即可:
<p>{{.Videos.GetCreatedDate}}</p>
另外注意你提供的模板代码有个小错误:<p>{{.Videos.CreatedAt}}</p 缺少闭合的>,记得补上避免页面渲染异常。
内容的提问来源于stack exchange,提问作者Shidqi
相关产品推荐
相关产品推荐

