code: func mixDateAndTime(date, time *MysqlTime, neg bool) {
  	if !neg && time.hour < 24 {
  		date.hour = time.hour
  		date.minute = time.minute
  		date.second = time.second
  		date.microsecond = time.microsecond
  		return
  	}
  
  	// Time is negative or outside of 24 hours internal.
  	sign := -1
  	if neg {
  		sign = 1
  	}
  	seconds, microseconds, _ := calcTimeDiff(*date, *time, sign)
  
  	// If we want to use this function with arbitrary dates, this code will need
  	// to cover cases when time is negative and "date < -time".
  
  	days := seconds / secondsIn24Hour
  	calcTimeFromSec(date, seconds%secondsIn24Hour, microseconds)
  	year, month, day := getDateFromDaynr(uint(days))
  	date.year = uint16(year)
  	date.month = uint8(month)
  	date.day = uint8(day)
  }
docs: // mixDateAndTime mixes a date value and a time value.