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  }