gorm中数据库datetime类型的映射和time.Time的格式化

时间:2022-09-24 15:37:09
如果在结构体中设置time变量的类型是time.Time,那么gorm取出来的时间格式将会是”2006-01-02 15:04:05.999999999 -0700 MST“东八区时间,在time.Time类型中有Format()方法,取格式化的参数必须为”2006-01-02 15:04:05“,go语言的诞生时间 

两个时间戳的计算用ParseInLocation,得到两个Time类型,再用Unix()方法相减,得到时间差

               st:=result.Starttime.Format("2006-01-02 15:04:05")//go语言的诞生时间
			now:=time.Now().Format("2006-01-02 15:04:05")
			fmt.Println(st)
			var hour int64
			t1, err := time.ParseInLocation("2006-01-02 15:04:05",st, time.Local)
			t2, err := time.ParseInLocation("2006-01-02 15:04:05", now, time.Local)
			if err == nil && t1.Before(t2) {
				diff := t2.Unix() - t1.Unix() //两个时间相减,得到的是相差的分钟数
				hour = diff/60
			}