2 回答
TA贡献1821条经验 获得超4个赞
如果标准库中不存在时间格式,您可以创建自己的时间格式进行解析。
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())
}
输出
1450828800
我不知道时间格式的官方文档是什么,但你可以在这里找到它,从第 64 行开始。
TA贡献1775条经验 获得超11个赞
事实上,我不知道 Go 的标准库中有任何 ISO-8601 解析支持。
让我们使用最接近的 RFC-3309:
package main
import (
"fmt"
"time"
"strings"
)
func main() {
// convert iso-8601 into rfc-3339 format
rfc3339t := strings.Replace("2015-12-23 00:00:00", " ", "T", 1) + "Z"
// parse rfc-3339 datetime
t, err := time.Parse(time.RFC3339, rfc3339t)
if err != nil {
panic(err)
}
// convert into unix time
ut := t.UnixNano() / int64(time.Millisecond)
fmt.Println(ut)
}
输出
1450828800000
游乐场:http : //play.golang.org/p/HxZCpxmjvg
希望这可以帮助!
- 2 回答
- 0 关注
- 154 浏览
添加回答
举报