Undersøgte dette spørgsmål nærmere. I øjeblikket er der ingen understøttelse i GORM for nogen dato/klokkeslætstyper undtagen timestamp with time zone
Se denne del af koden fra dialect_postgres.go :
case reflect.Struct:
if _, ok := dataValue.Interface().(time.Time); ok {
sqlType = "timestamp with time zone"
}
Så grundlæggende ser jeg to muligheder for dig:
Brug enten varchar(10)
i DB, og string
i Go, gem det blot som "21:00" (hvor 10 er et tal, der passer til dig)
Eller brug timestamp with time zone
i DB, time.Time
i Go, og formater din datodel som en konstant dato, 01/01/1970, for eksempel:
time.Parse("2006-01-02 3:04PM", "1970-01-01 9:00PM")
I så fald bliver du nødt til at udelade datodelen i din præsentation, men hvis du planlægger at vælge efter datointerval, kunne det fungere bedre for dig.