所以我试图从字符串中解析一段时间,然后将该时间插入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(时间应该是什么格式)?
答案 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