如何从Golang中的字符串解析日期以插入Postgres?

时间:2016-08-03 20:41:47

标签: postgresql go

所以我试图从字符串中解析一段时间,然后将该时间插入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 个答案:

答案 0 :(得分: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())

答案 1 :(得分:0)

如果要插入特定日期而不是时间。Now()您可以使用date.Format(“ 2006-01-02”)

layout := "2016-02-02T15:04:05.000Z"
updatedAt, _ := time.Parse(time.RFC3339, layout)

fmt.Println(updatedAt)
fmt.Println(updatedAt.Format("2006-01-02"))
fmt.Println(updatedAt.Format(time.RFC3339))

返回:

2016-02-02 15:04:05 +0000 UTC 
2016-02-02 
2016-02-02T15:04:05Z