func dumpBinaryDateTime(t mysql.Time, loc *time.Location) (data []byte) { if t.Type == mysql.TypeTimestamp && loc != nil { t.Time = t.In(loc) } switch t.Type { case mysql.TypeTimestamp, mysql.TypeDatetime: data = append(data, 11) data = append(data, dumpUint16(uint16(t.Year()))...) //year data = append(data, byte(t.Month()), byte(t.Day()), byte(t.Hour()), byte(t.Minute()), byte(t.Second())) data = append(data, dumpUint32(uint32((t.Nanosecond() / 1000)))...) case mysql.TypeDate, mysql.TypeNewDate: data = append(data, 4) data = append(data, dumpUint16(uint16(t.Year()))...) //year data = append(data, byte(t.Month()), byte(t.Day())) } return }