将MySQL日期时间字符串转换为time.Time格式

Roy*_*ten 4 time datetime go

我无法设法将SQL日期时间(MySQL)值解析为time.Time值.我找不到适合sql datetime的布局.并且还不太了解这是如何工作的.

我想象我不是第一个与此斗争的人,虽然我无法真正找到我应该如何做到这一点.

输入:

2015-12-23 00:00:00
Run Code Online (Sandbox Code Playgroud)

期望的输出:

1450825200
Run Code Online (Sandbox Code Playgroud)

time, err := time.Parse(time.SomeSqlDateTimeLayout, "2015-12-23 00:00:00")
timestamp := time.Unix()
Run Code Online (Sandbox Code Playgroud)

del*_*boy 10

如果标准库中不存在,您可以创建自己的解析格式.

package main

import (
    "fmt"
    "time"
)

func main() {
    layout := "2006-01-02 15:04:05"
    str := "2015-12-23 00:00:00"
    t, err := time.Parse(layout, str)

    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(t.Unix())
}
Run Code Online (Sandbox Code Playgroud)

产量

1450828800
Run Code Online (Sandbox Code Playgroud)

我不知道时间格式的官方文档是什么,但你可以在这里找到它,从第64行开始.