func(t Time) Value() (driver.Value, error) { var zeroTime time.Time var ti = time.Time(t) if ti.UnixNano() == zeroTime.UnixNano() { returnnil, nil } return ti, nil }
func(t *Time) Scan(v interface{}) error { value, ok := v.(time.Time) if ok { *t = Time(value) returnnil } return fmt.Errorf("can not convert %v to timestamp", v) }
调用
至于调用就更简单了 如下代码所示
1 2 3 4 5 6 7 8 9 10 11
package model
type Category struct { //*gorm.Model ID uint`json:"id" gorm:"primary key"` Name string`json:"name" gorm:"type:varchar(50); not null;unique"` CreatedAt Time `json:"create_at"` UpdatedAt Time `json:"update_at"` }