sibert
sibert

Reputation: 2228

ISO date format in golang

ISO date format is 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)

The result will be this:

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

I thought this should work, but it did not:

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

The desired result should be:

2018-03-21, TB

How do I fetch a date from sql and show the date in ISO format?

Upvotes: 3

Views: 6164

Answers (1)

Danilo
Danilo

Reputation: 193

You'ha at least two solution:

1-Check if you can use a database built-in function directly in your SQL statement(have a look here for SQLite).

2-Once you have done the ... 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")

And read this article too.

Upvotes: 2

Related Questions