Column Types: TIMESTAMPTZ/DATETIME
The sq representation of all datetime types (TIMESTAMPTZ, DATE, etc) is the TimeField. You can convert a time.Time into a TimeField:
func Time(t time.Time) TimeField
Here are the available Predicate operations on a TimeField:
func (f TimeField) IsNull() Predicate // f IS NULL
func (f TimeField) IsNotNull() Predicate // f IS NOT NULL
// TimeField
func (f TimeField) Eq(field TimeField) Predicate // f = field
func (f TimeField) Ne(field TimeField) Predicate // f <> field
func (f TimeField) Gt(field TimeField) Predicate // f > field
func (f TimeField) Ge(field TimeField) Predicate // f >= field
func (f TimeField) Lt(field TimeField) Predicate // f < field
func (f TimeField) Le(field TimeField) Predicate // f <= field
func (f TimeField) Between(start, end TimeField) Predicate // f BETWEEN start AND end
func (f TimeField) NotBetween(start, end TimeField) Predicate // f NOT BETWEEN start AND end
func (f TimeField) BetweenSymmetric(start, end TimeField) Predicate // f BETWEEN SYMMETRIC start AND end
func (f TimeField) NotBetweenSymmetric(start, end TimeField) Predicate // f NOT BETWEEN SYMMETRIC start AND end
// time.Time
func (f TimeField) EqTime(t time.Time) Predicate // f = s
func (f TimeField) NeTime(t time.Time) Predicate // f <> s
func (f TimeField) GtTime(t time.Time) Predicate // f > s
func (f TimeField) GeTime(t time.Time) Predicate // f >= s
func (f TimeField) LtTime(t time.Time) Predicate // f < s
func (f TimeField) LeTime(t time.Time) Predicate // f <= s
func (f TimeField) BetweenTime(start, end time.Time) Predicate // f BETWEEN start AND end
func (f TimeField) NotBetweenTime(start, end time.Time) Predicate // f NOT BETWEEN start AND end
func (f TimeField) BetweenSymmetricTime(start, end time.Time) Predicate // f BETWEEN SYMMETRIC start AND end
func (f TimeField) NotBetweenSymmetricTime(start, end time.Time) Predicate // f NOT BETWEEN SYMMETRIC start AND end