code: func (pc *Periodic) DurationToStart(ref time.Time) time.Duration {
  	prev := pc.Previous(ref)
  	if prev.End.After(ref) || prev.End.Equal(ref) {
  		return prev.Start.Sub(ref)
  	}
  	return pc.Next(ref).Start.Sub(ref)
  }
docs: // DurationToStart returns the duration between the supplied time and the start
  // of Periodic's relevant period.
  // If we're in a period, a value <= 0 is returned, indicating how
  // deep into period we are.
  // If we're outside a period, a value > 0 is returned, indicating how long
  // before the next period starts.