golang毫秒转时间

2023-05-14 21:05:43 时间 Golang

关于 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毫秒转时间的详细内容,更多请关注其它相关文章!

相关文章