如果在结构体中设置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 }