Проучи този проблем допълнително. Понастоящем в GORM няма поддръжка за никакви типове дата/час, освен timestamp with time zone
Вижте тази част от кода от dialect_postgres.go :
case reflect.Struct:
if _, ok := dataValue.Interface().(time.Time); ok {
sqlType = "timestamp with time zone"
}
Така че основно виждам две опции за вас:
Или използвайте varchar(10)
в DB и string
в Go, просто го запазете като "9:00 PM" (където 10 е номер, който ви подхожда)
Или използвайте timestamp with time zone
в DB, time.Time
в Go и форматирайте вашата част от датата като постоянна дата, 01/01/1970, например:
time.Parse("2006-01-02 3:04PM", "1970-01-01 9:00PM")
В такъв случай ще трябва да пропуснете частта с датата във вашата презентация, но ако планирате да избирате по период от време, това може да работи по-добре за вас.