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格式显示日期?
答案 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")