func (d *goDate) DifferenceAsDuration(compare *goDate) time.Duration {
	return d.Time.Sub(compare.Time)
}
Get the difference as a duration type
package godate
import (
	"math"
	"strconv"
	"strings"
	"time"
)
type goDate struct {
	Time     time.Time
	TimeZone *time.Location
	FirstDayOfWeek time.Weekday
}
func (d *goDate) IsBefore(compare *goDate) bool {
	return d.Time.Before(compare.Time)
}
func (d *goDate) IsAfter(compare *goDate) bool {
	return d.Time.After(compare.Time)
}
func (d goDate) Sub(count int, unit Unit) *goDate {
	return d.Add(-count, unit)
}
func (d goDate) Add(count int, unit Unit) *goDate {
	d.Time = d.Time.Add(time.Duration(unit * Unit(count)))
	return &d
}