github.com/keysonzzz/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgType/DateTimeType.go (about) 1 package kmgType 2 3 import ( 4 "reflect" 5 "time" 6 7 "github.com/bronze1man/kmg/kmgTime" 8 ) 9 10 var DateTimeReflectType = reflect.TypeOf((*time.Time)(nil)).Elem() 11 12 type DateTimeType struct { 13 reflectTypeGetterImp 14 saveScaleFromStringer 15 saveScaleEditabler 16 } 17 18 func (t *DateTimeType) ToString(v reflect.Value) string { 19 return v.Interface().(time.Time).Format(kmgTime.FormatMysql) 20 } 21 func (t *DateTimeType) SaveScale(v reflect.Value, value string) error { 22 valueT, err := time.Parse(kmgTime.FormatMysql, value) 23 if err != nil { 24 return err 25 } 26 v.Set(reflect.ValueOf(valueT)) 27 return nil 28 }