我正在使用Postgres作为数据库。 我有一个结构Golang gorm时间数据类型转换

type Building struct { 
ID  int `json:"id,omitempty"` 
Name  string `gorm:"size:255" json:"name,omitempty"` 
Lon  string `gorm:"size:64" json:"lon,omitempty"` 
Lat  string `gorm:"size:64" json:"lat,omitempty"` 
StartTime time.Time `gorm:"type:time" json:"start_time,omitempty"` 
EndTime time.Time `gorm:"type:time" json:"end_time,omitempty"` 
} 

然而,当我尝试这个结构插入到数据库“解析时间‘’10:00:00”,”如‘’2006-01-02T15:04:05Z07:00" “:can not parse”0:00“”as“2006”“}

可能它不能识别StartTime和EndTime字段作为时间类型,而是使用Timestamp来代替如何指定这些字段是Time类型?

PS我这是怎么创建

大厦
if err = db.Create(&building).Error; err != nil { 
    return database.InsertResult{}, err 
    } 
建表的3210

SQL代码中提到

DROP TABLE IF EXISTS building CASCADE; 
CREATE TABLE building(
    id SERIAL, 
    name VARCHAR(255) NOT NULL , 
    lon VARCHAR(31) NOT NULL , 
    lat VARCHAR(31) NOT NULL , 
    start_time TIME NOT NULL , 
    end_time TIME NOT NULL , 
    PRIMARY KEY (id) 
); 

+0

你的代码在我的环境,并能够正确的数据插入到数据库中。从错误消息中可以看出,当你创建'building'时,错误就发生了。你可以粘贴代码吗? –

+0

@ymonad,你能再次检查吗? –

+0

我已经尝试过设置TIME,DATE和TIMESTAMP的start_time和end_time类型,以及所有的作品,至少''time.Now()'。这里是代码:https://gist.github.com/anonymous/5014d44ca999144ff06ffc05aa4acee3 –