code: func (p Pages) GroupByParamDate(key string, format string, order ...string) (PagesGroup, error) {
  	sorter := func(p Pages) Pages {
  		var r Pages
  		for _, e := range p {
  			param := resource.GetParamToLower(e, key)
  			if _, ok := param.(time.Time); ok {
  				r = append(r, e)
  			}
  		}
  		pdate := func(p1, p2 Page) bool {
  			p1p, p2p := p1.(Page), p2.(Page)
  			return resource.GetParamToLower(p1p, key).(time.Time).Unix() < resource.GetParamToLower(p2p, key).(time.Time).Unix()
  		}
  		pageBy(pdate).Sort(r)
  		return r
  	}
  	formatter := func(p Page) string {
  		return resource.GetParamToLower(p, key).(time.Time).Format(format)
  	}
  	return p.groupByDateField(sorter, formatter, order...)
  }
docs: // GroupByParamDate groups by a date set as a param on the page in
  // the given format and with the given order.
  // Valid values for order is asc, desc, rev and reverse.
  // For valid format strings, see https://golang.org/pkg/time/#Time.Format