В Голландии мы в основном используем ГГГГ-ММ-ДД ЧЧ: ММ: СС. Как я могу отформатировать это в Go? Все, что я вставляю (даже по стандарту), дает странные цифры.Выходное время Go в RFC3339, как формат MySQL
Это мой код (p.Created
это NanoSeconds int64
объекта):
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
"log"
"time"
)
const createdFormat = "2010-01-01 20:01:00" //"Jan 2, 2006 at 3:04pm (MST)"
type Post struct {
Id int64
Created int64
Title string
Body string
}
func main() {
// Establish database connection
dsn := "[email protected](127.0.0.1:3306)/testdb"
con, err := sql.Open("mysql", dsn)
if err != nil {
log.Println("Couldn't connect to databse:", err)
} else {
log.Println("DB Connection established")
}
defer con.Close()
// Try to get something
row := con.QueryRow("SELECT * FROM posts LIMIT 1")
p := new(Post)
err = row.Scan(&p.Id, &p.Created, &p.Title, &p.Body)
if err != nil {
log.Println("Failed to fetch Post")
}
fmt.Println(p)
fmt.Println(time.Unix(0, p.Created).Format(createdFormat))
}
Я мог бы просто CONCAT time.Unix(0, p.Created).Year()
и т.д., но это не очень чистые и раздражение для последовательности.
Это сработало, спасибо. Странно, что в docs указано 'func Unix (sec int64, nsec int64) Time' tho. Наверное, понимаем это неправильно –
'sec' - количество секунд с момента; 'nsec' - это число наносекунд после' sec'. – publysher
re comment - Я не уверен, что Mountain Standard Time полезно в Голландии; -P –