关于 Golang 中毫秒转时间,我们可以先了解一下 Go 的时间类型,即 time.Time
。它的定义如下:
type Time struct { wall uint64 ext int64 loc *Location }
登录后复制
其中 wall
字段表示自 Unix 纪元开始的纳秒数,ext
表示纳秒内的偏移量,loc
表示时区信息。
那么,针对毫秒转时间,我们需要先将毫秒数转换为 time.Time
类型,然后再根据自己的需要格式化输出。
实现方法如下:
package main import ( "fmt" "time" ) func main() { // 假设我们有这么一个毫秒时间戳 timestamp := int64(1591215345000) // 将毫秒数转换为 time.Time 类型 t := time.Unix(timestamp/1000, (timestamp%1000)*int64(time.Millisecond)) // 格式化输出 fmt.Println(t.Format("2006-01-02 15:04:05")) }
登录后复制
在这个代码片段中,我们使用了 time.Unix
函数将毫秒数转换为 time.Time
类型。这个函数的第一个参数表示 Unix 纪元开始到此刻的秒数,第二个参数表示纳秒内的偏移量,具体计算方法为毫秒数乘以 1,000,000。
然后,我们使用 time.Time
类型的 Format
方法将时间格式化输出。请注意,这里格式化字符串中的时间格式必须符合 Go 的时间格式化规则,与其他语言的时间格式化规则有所区别。
总的来说,在 Golang 中毫秒转时间比较简单,只需要使用 time.Unix
函数将毫秒数转换为 time.Time
类型,然后再按照需求格式化输出即可。
以上就是golang毫秒转时间的详细内容,更多请关注Work网其它相关文章!