go gin gorm 时区 时间格式化问题

  1. 通过loc参数指定Asia/Shanghai
type DatabaseConf struct {
   Type string `yaml:"type"`  // 数据库类型
   Host string `yaml:"host"`  // 主机
   Port string `yaml:"port"`  // 端口
   User string `yaml:"user"`  // 用户
   Pass string `yaml:"pass"`  // 密码
   DbName string `yaml:"dbName"` // 数据库名
   Charset string `yaml:"charset"` // 字符集
   Prefix string `yaml:"prefix"` //  表前缀
   IsSingularDbName bool `yaml:"isSingularDbName"` // 是否单数表名
   ParseTime string `yaml:"parseTime"` // 是否解析时间
   Timezone string `yaml:"timezone"` // 时区
}
	dbConf := config.Conf.Database
	connects := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=%s&parseTime=%s&loc=%s", dbConf.User, dbConf.Pass, dbConf.Host, dbConf.Port,
		dbConf.DbName, dbConf.Charset, dbConf.ParseTime, dbConf.Timezone)
  1. go get github.com/Gre-Z/common/安装包, 自定义gin.Model, 将time.Time替换为jtime.JsonTime
package models

import (
	"github.com/Gre-Z/common/jtime"
)

type Model struct {
	ID uint `grom:"primary_key" json:"id"`
	CreatedAt  jtime.JsonTime `json:"created_at"`
	UpdatedAt jtime.JsonTime `json:"updated_at"`
	DeletedAt jtime.JsonTime `json:"deleted_at"`
}
  1. 即可正常显示时间
    在这里插入图片描述

你可能感兴趣的:(go)