code: func (h *histogram) randDate(unit string, mysqlFmt string, dateFmt string) string {
  	idx := h.getRandomBoundIdx()
  	if idx%2 == 0 {
  		lower := h.Bounds.GetRow(idx).GetTime(0)
  		upper := h.Bounds.GetRow(idx + 1).GetTime(0)
  		diff := types.TimestampDiff(unit, lower, upper)
  		if diff == 0 {
  			str, err := lower.DateFormat(mysqlFmt)
  			if err != nil {
  				log.Fatal(err.Error())
  			}
  			return str
  		}
  		delta := randInt(0, int(diff)-1)
  		l, err := lower.Time.GoTime(time.Local)
  		if err != nil {
  			log.Fatal(err.Error())
  		}
  		l = l.AddDate(0, 0, delta)
  		return l.Format(dateFmt)
  	}
  	str, err := h.Bounds.GetRow(idx).GetTime(0).DateFormat(mysqlFmt)
  	if err != nil {
  		log.Fatal(err.Error())
  	}
  	return str
  }
docs: // randDate randoms a bucket and random a date between upper and lower bound.