go 获取当前时间戳
时间: 2024-08-03 17:00:21 浏览: 132
在 Go 语言中,获取当前时间戳通常使用 `time` 包中的 `Unix()` 或 `Now().UnixNano()` 函数。这里有两个常用的方法:
1. 使用 `time.Now().Unix()`:
```go
import (
"time"
)
timestamp := time.Now().Unix()
```
这个方法返回的是自1970年1月1日(UTC)以来的秒数。
2. 使用 `time.Now().UnixNano()`:
```go
import (
"time"
)
timestamp := time.Now().UnixNano()
```
这个方法返回的是纳秒级别的精度,如果只需要秒级精度,可以除以 1e9(10^9),得到整数表示的秒数。
相关问题
golang获取时间戳
在 Golang 中获取时间戳可以使用时间包中的 `Unix` 和 `UnixNano` 函数。
1. Unix 时间戳
`Unix` 函数返回的是从 Unix 纪元(1970 年 1 月 1 日 00:00:00 UTC)到当前时间的秒数。
示例代码:
```go
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
timestamp := now.Unix()
fmt.Println(timestamp)
}
```
2. UnixNano 时间戳
`UnixNano` 函数返回的是从 Unix 纪元到当前时间的纳秒数。
示例代码:
```go
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
timestamp := now.UnixNano()
fmt.Println(timestamp)
}
```
注意:`UnixNano` 函数返回的时间戳位数较多,可以使用 `int64` 类型来存储。
用go语言编写函数自定义common包,并定义随机生成指定长度数字的函数、获取当前程序运行路径的函数、获取当前时间戳的函数,在主函数中导入common包,详细的代码
package common
import (
"math/rand"
"time"
)
//生成指定长度的随机数字
func RandomNum(length int) string {
numStr := ""
rand.Seed(time.Now().UnixNano())
for i := 0; i < length; i++ {
numStr += fmt.Sprintf("%d", rand.Intn(10))
}
return numStr
}
//获取当前程序运行路径
func GetCurrentPath() string {
path, err := filepath.Abs(filepath.Dir(os.Args[0]))
if err != nil {
log.Fatal(err)
}
return path
}
//获取当前时间戳
func GetTimeStamp() int64 {
return time.Now().UnixNano() / 1e6
}
//在主函数中导入common包
import (
"fmt"
"common"
)
func main() {
num := common.RandomNum(6)
path := common.GetCurrentPath()
timeStamp := common.GetTimeStamp()
fmt.Println("随机数字:", num)
fmt.Println("程序运行路径:", path)
fmt.Println("当前时间戳:", timeStamp)
}
阅读全文