Menyelidiki masalah ini lebih lanjut. Saat ini, tidak ada dukungan di GORM untuk semua jenis Tanggal/Waktu kecuali timestamp with time zone
Lihat bagian kode ini dari dialect_postgres.go :
case reflect.Struct:
if _, ok := dataValue.Interface().(time.Time); ok {
sqlType = "timestamp with time zone"
}
Jadi pada dasarnya saya melihat dua opsi untuk Anda:
Gunakan varchar(10)
di DB, dan string
di Go, cukup simpan sebagai "9:00 PM" (di mana 10 adalah angka yang cocok untuk Anda)
Atau gunakan timestamp with time zone
dalam DB, time.Time
di Go, dan format bagian tanggal Anda sebagai tanggal tetap, 01/01/1970, misalnya:
time.Parse("2006-01-02 3:04PM", "1970-01-01 9:00PM")
Dalam hal ini Anda harus menghilangkan bagian tanggal dalam presentasi Anda, tetapi jika Anda berencana untuk memilih berdasarkan rentang tanggal, itu bisa bekerja lebih baik untuk Anda.