golang中的ISO日期格式

时间:2018-03-25 05:39:58

标签: sql go

ISO日期格式为YYYY-MM-DD。 https://github.com/golang/go/issues/2141

type hr struct {
    USER_DATE  string
    USER_ID  string
}

rows, err := db.Query(`SELECT "USER_DATE","USER_ID" FROM user`)
    if err != nil {
        http.Error(w, http.StatusText(500), 500)
    return
    }

defer rows.Close()

for rows.Next() {
    hr := hr{}
    err := rows.Scan(&hr.USER_DATE, &hr.USER_ID)

结果将是:

  

2018-03-21T00:00:00Z,TB

我认为这应该有效,但事实并非如此:

type hr struct {
    USER_DATE  time.Format("2006-01-02") //<-- gives an error
    USER_ID  string
}

期望的结果应该是:

  

2018-03-21,TB

如何从sql中获取日期并以ISO格式显示日期?

1 个答案:

答案 0 :(得分:1)

你至少有两个解决方案:

1 - 检查您是否可以直接在SQL语句中使用数据库内置函数(请查看此处SQLite)。

2 - 完成... rows.Scan(&hr.USER_DATE ...

layout := "2006-01-02T15:04:05Z"
t, err := time.Parse(layout, hr.USER_DATE)

if err != nil {
    fmt.Println(err)
}

hr.USER_DATE = t.Format("2006-01-02")

阅读this article too

相关问题