在Go语言中,time.Now().Unix() 返回的是一个 int64 类型的 Unix 时间戳(即从1970年1月1日00:00:00 UTC到现在的秒数)。而 cast.ToString() 这样的函数调用并不是Go语言标准库中的函数。在Go中,如果你想要将一个 int64 类型的 Unix 时间戳转换为字符串,你应该使用 strconv.FormatInt 函数或者更简单的 fmt.Sprintf 函数。
例如,使用 strconv.FormatInt:
go复制代码 package main import ( "fmt" "strconv" "time" ) func main() { unixTimestamp := time.Now().Unix() strTimestamp := strconv.FormatInt(unixTimestamp, 10) // 第二个参数是基数,对于十进制是10 fmt.Println(strTimestamp) }
或者使用 fmt.Sprintf:
go复制代码 package main import ( "fmt" "time" ) func main() { unixTimestamp := time.Now().Unix() strTimestamp := fmt.Sprintf("%d", unixTimestamp) fmt.Println(strTimestamp) }
这两种方法都会将 Unix 时间戳转换为字符串。如果你需要更复杂的日期时间格式,你应该先将 int64 类型的 Unix 时间戳转换回 time.Time 类型,然后再使用 time.Time 的 Format 方法进行格式化。例如:
go复制代码 package main import ( "fmt" "time" ) func main() { unixTimestamp := time.Now().Unix() t := time.Unix(unixTimestamp, 0) // 将 Unix 时间戳转换为 time.Time formattedTime := t.Format("2006-01-02 15:04:05") // 使用 Go 的诞生时间作为参考格式 fmt.Println(formattedTime) }