我正在尝试解析Unix时间戳,但超出范围错误。这对我来说真的没有意义,因为布局正确(如Go文档中所示):
package main import "fmt" import "time" func main() { tm, err := time.Parse("1136239445", "1405544146") if err != nil{ panic(err) } fmt.Println(tm) }
play
该time.Parse函数不执行Unix时间戳。相反,您可以使用strconv.ParseInt来解析字符串,int64并使用创建时间戳time.Unix:
time.Parse
strconv.ParseInt
int64
time.Unix
package main import ( "fmt" "time" "strconv" ) func main() { i, err := strconv.ParseInt("1405544146", 10, 64) if err != nil { panic(err) } tm := time.Unix(i, 0) fmt.Println(tm) }
输出:
2014-07-16 20:55:46 +0000 UTC
play: http : //play.golang.org/p/v_j6UIro7a
编辑:
从更改为strconv.Atoi,strconv.ParseInt以避免32位系统上的int溢出。
strconv.Atoi