以 Go 语言获取 Unix 时间戳(当前时间以秒为单位)

我有一些代码写在围棋,我试图更新与最新的每周构建工作。(最后一次建造是在 r60以下)。现在一切正常,除了以下几点:

 if t, _, err := os.Time(); err == nil {
port[5] = int32(t)
}

关于如何更新它以使其与当前 Go 实现一起工作,有什么建议吗?

142094 次浏览
import "time"
...
port[5] = time.Now().Unix()

另一个提示。time.Now().UnixNano()(Godoc)会给你纳秒的时间。这并不是严格意义上的 Unix 时间,但是它使用相同的时代为您提供了亚秒级的精度,这非常方便。

编辑: 更改为匹配当前的 golang api

如果你想它作为 string只是转换它通过 strconv:

package main


import (
"fmt"
"strconv"
"time"
)


func main() {
timestamp := strconv.FormatInt(time.Now().UTC().UnixNano(), 10)
fmt.Println(timestamp) // prints: 1436773875771421417
}

基于这里另一个答案的想法,为了得到一个人类可读的解释,你可以使用:

package main


import (
"fmt"
"time"
)


func main() {
timestamp := time.Unix(time.Now().Unix(), 0)
fmt.Printf("%v", timestamp) // prints: 2009-11-10 23:00:00 +0000 UTC
}

围棋游乐场试试。