time_range.go (339B)
1 package main 2 3 import ( 4 "errors" 5 "time" 6 ) 7 8 type TimeRange struct { 9 Start time.Time 10 Stop time.Time 11 } 12 13 func NewTimeRange(start time.Time, stop time.Time) (TimeRange, error) { 14 if start.After(stop) || start.Equal(stop) { 15 return TimeRange{}, errors.New("duration must be positive") 16 } 17 18 return TimeRange{Start: start, Stop: stop}, nil 19 }