跳转到内容
彼岸论坛
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[Go 编程语言] Gorm 格式化时间这样处理可行不可行


已推荐帖子

发表于
时间结构体
type UseDateTime struct {
  	CreatedAt    *time.Time `json:"-"`
	CreatedAtStr string     `json:"created_at" gorm:"-"`
	UpdatedAt    *time.Time `json:"-"`
	UpdatedAtStr string     `json:"updated_at" gorm:"-"`
}

结构体多添加两个字段 CreatedAtStrUpdatedAtStr用 Tag 来控制不参与存储

使用 Gorm 自带的 Hook AfterFind

func (u *UseDateTime) AfterFind(tx *gorm.DB) (err error) {
	if u.CreatedAt != nil {
		u.CreatedAtStr = u.CreatedAt.Format("2006-01-02 15:04:05")
	}
	if u.UpdatedAt != nil {
		u.UpdatedAtStr = u.UpdatedAt.Format("2006-01-02 15:04:05")
	}
	return
}

最终输出

{
  "code": 200,
  "data": [
    {
      "id": 1,
      "username": "admin",
      "created_at": "2019-10-29 00:28:05",
      "updated_at": "2024-06-13 14:09:15"
    }
  ]
}
  • 游客注册

    游客注册

  • 会员

    没有会员可显示

  • 最新的状态更新

    没有最新的状态更新
  • 最近查看

    • 没有会员查看此页面.
×
×
  • 创建新的...