Heb dit probleem verder onderzocht. Momenteel is er in GORM geen ondersteuning voor datum/tijd-typen, behalve timestamp with time zone
Zie dit deel van de code van dialect_postgres.go :
case reflect.Struct:
if _, ok := dataValue.Interface().(time.Time); ok {
sqlType = "timestamp with time zone"
}
Dus eigenlijk zie ik twee opties voor je:
Gebruik ofwel varchar(10)
in DB, en string
in Go, en sla het gewoon op als "21:00 uur" (waarbij 10 een nummer is dat bij je past)
Of gebruik timestamp with time zone
in DB, time.Time
in Go, en formatteer uw datumgedeelte als een constante datum, 01/01/1970, bijvoorbeeld:
time.Parse("2006-01-02 3:04PM", "1970-01-01 9:00PM")
In dat geval moet u het datumgedeelte in uw presentatie weglaten, maar als u van plan bent om op datumbereik te selecteren, kan dat beter voor u werken.