데이터베이스로 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"`
}
그러나, 구조체를 가지고 나는 2006-01-02T15 ""로 "" ""시간을 구문 분석 "데이터베이스에 10시 0분 0초를이 구조체를 삽입 할 때 : 04 : 05Z07 : 00" ":"2006 ""}과 같이 구문 분석 할 수 없습니다.
아마도 StartTime 및 EndTime 필드를 Time 유형으로 인식하지는 않지만 대신 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)
);
귀하의 코드 내 환경과 제대로 데이터베이스에 데이터를 삽입 할 수 작동합니다. 오류 메시지에서 '건물'을 만들 때 오류가 발생하는 것으로 보입니다. 코드를 붙여 넣을 수 있습니까? – ymonad
@ymonad, 다시 확인할 수 있습니까? –
TIME, DATE 및 TIMESTAMP에 대한 start_time 및 end_time 유형을 설정하려고 시도했으며 모든 작업은 적어도 time.Now()에 대해 작동합니다. 여기에 코드가 있습니다 : https://gist.github.com/anonymous/5014d44ca999144ff06ffc05aa4acee3 – ymonad