我试图解析Unix timestamp,但出现超出范围的错误.这对我来说没有什么意义,因为布局是正确的(就像在Go文档中一样):
package main
import "fmt"
import "time"
func main() {
tm, err := time.Parse("1136239445", "1405544146")
if err != nil{
panic(err)
}
fmt.Println(tm)
}
我试图解析Unix timestamp,但出现超出范围的错误.这对我来说没有什么意义,因为布局是正确的(就像在Go文档中一样):
package main
import "fmt"
import "time"
func main() {
tm, err := time.Parse("1136239445", "1405544146")
if err != nil{
panic(err)
}
fmt.Println(tm)
}
time.Parse
函数不执行Unix时间戳.相反,您可以使用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)
}
Output:
2014-07-16 20:55:46 +0000 UTC
Playground: http://play.golang.org/p/v_j6UIro7a
Edit:
从strconv.Atoi
更改为strconv.ParseInt
,以避免32位系统上的int溢出.