在Go语言中,获取当前时间戳通常指的是获取自1970年1月1日(UTC)以来的秒数或纳秒数。你可以使用time包中的Now().Unix()来获取秒数时间戳,或者使用Now().UnixNano() / int64(time.Millisecond)来获取毫秒级时间戳。如果你需要纳秒级时间戳,则可以直接使用Now().UnixNano()。
下面是获取当前时间戳的示例代码:
go复制代码 package main import ( "fmt" "time" ) func main() { // 获取当前时间 now := time.Now() // 获取秒级时间戳 secondsTimestamp := now.Unix() fmt.Println("秒级时间戳:", secondsTimestamp) // 获取毫秒级时间戳 millisecondsTimestamp := now.UnixNano() / int64(time.Millisecond) fmt.Println("毫秒级时间戳:", millisecondsTimestamp) // 获取纳秒级时间戳 nanosecondsTimestamp := now.UnixNano() fmt.Println("纳秒级时间戳:", nanosecondsTimestamp) }
在上面的代码中:
now.Unix()返回的是当前时间的秒级时间戳。
now.UnixNano()返回的是当前时间的纳秒级时间戳,它是一个int64类型的值。要将其转换为毫秒级时间戳,我们将其除以int64(time.Millisecond)。
注意,UnixNano()返回的是从1970年1月1日00:00:00 UTC到现在的纳秒数,而Unix()返回的是秒数。根据你的需求,你可以选择使用哪个方法。如果你只需要精度到秒的时间戳,那么Unix()就足够了。如果你需要更高的精度,比如毫秒或纳秒,那么你可以使用UnixNano()并进行相应的转换。