2016-08-03 88 views
-2

所以我試圖解析一個字符串的時間,然後插入Postgres的時間。如何從Golang中的字符串中解析日期以插入到Postgres中?

我有這這麼遠

layout := "2006-01-02T15:04:05.000Z" 
updatedAt, _ := time.Parse("2016-06-10") 
fmt.Println(updatedAt) 

但這輸出

0001-01-01 00:00:00 +0000 UTC

我也不確定如何使用它來查詢postgres(時間應該是什麼格式)?

+2

你'layout'和你'value'不匹配,你是不是傳遞'layout'作爲參數:https://golang.org/pkg/time/#Parse – Nicarus

+0

你碰巧知道哪個佈局適用於UTC?然後如何使用輸出插入到Postgres中?我已經嘗試了一些而沒有工作。 – praks5432

+1

['time.Parse'](https://golang.org/pkg/time/#Parse)需要2個參數,你沒有傳入佈局。就像Nicarus說的,你的佈局不匹配,你只需要'2006-01-02' – JimB

回答

1

要解析的時間在你的榜樣,你需要正確的佈局傳遞給time.Parse

layout := "2006-01-02" 
updatedAt, _ := time.Parse(layout, "2016-06-10") 
fmt.Println(updatedAt) 

輸出:

$ go run time.go 
2016-06-10 00:00:00 +0000 UTC 

要分析它後面插入你有時間,你只需要將time.Time對象傳遞給db.Exec。例如:

db.Exec("INSERT INTO tablename VALUES (time_column) (($1));", time.Now())