package util

import "time"

type DateRange struct {
	From time.Time
	To   time.Time
}

func NewDateRange(from time.Time, to time.Time) DateRange {
	from, _ = time.Parse("2006-01-02", from.Format("2006-01-02"))
	to, _ = time.Parse("2006-01-02", to.Format("2006-01-02"))
	if from.After(to) {
		from, to = to, from
	}
	return DateRange{from, to}
}

func (d DateRange) Days() int {
	return int(d.To.Sub(d.From).Hours() / 24)
}

func DateRangeAround(date time.Time, months int) DateRange {
	return NewDateRange(date.AddDate(0, -months, 0), date.AddDate(0, months, 0))
}