Golang int64 整数转时间 (毫秒) - 详细教程和示例代码
使用 Golang 中的 'time' 包可以方便地将 int64 整数转换为时间对象,并将其转换为毫秒数。下面是详细步骤和示例代码:
package main
import (
'fmt'
'time'
)
func main() {
// 以毫秒为单位的时间戳
timestamp := int64(1633631400000)
// 将时间戳转换为时间对象
t := time.Unix(0, timestamp*int64(time.Millisecond))
// 将时间对象转换为字符串形式
timeStr := t.Format('2006-01-02 15:04:05')
// 将字符串形式的时间转换为毫秒数
parsedTime, err := time.Parse('2006-01-02 15:04:05', timeStr)
if err != nil {
fmt.Println('时间解析失败:', err)
return
}
milliseconds := parsedTime.UnixNano() / int64(time.Millisecond)
fmt.Println('转换后的时间:', timeStr)
fmt.Println('转换后的毫秒数:', milliseconds)
}
代码解析:
- 定义时间戳:
timestamp := int64(1633631400000)定义一个 int64 类型的变量,表示以毫秒为单位的时间戳。 - 转换为时间对象:
t := time.Unix(0, timestamp*int64(time.Millisecond))使用time.Unix()函数将时间戳转换为time.Time对象。第一个参数表示秒数,第二个参数表示纳秒数,因为时间戳是以毫秒为单位,所以需要乘以time.Millisecond。 - 转换为字符串:
timeStr := t.Format('2006-01-02 15:04:05')使用time.Time对象的Format()函数将时间对象转换为字符串形式。这里使用了 Go 语言中固定的时间格式'2006-01-02 15:04:05'。 - 解析字符串:
parsedTime, err := time.Parse('2006-01-02 15:04:05', timeStr)使用time.Parse()函数将字符串形式的时间解析为time.Time对象。 - 转换为毫秒:
milliseconds := parsedTime.UnixNano() / int64(time.Millisecond)使用time.Time对象的UnixNano()函数获取时间对象的纳秒数,然后除以time.Millisecond即可得到毫秒数。
注意事项:
-
代码中使用的时间格式
'2006-01-02 15:04:05'是 Go 语言中的固定时间格式,具体含义如下:- 2006:年份
- 01:月份
- 02:日期
- 15:小时(24 小时制)
- 04:分钟
- 05:秒钟
-
你可以根据实际需求修改时间格式。
希望以上内容对您有所帮助!
原文地址: https://www.cveoy.top/t/topic/p2zC 著作权归作者所有。请勿转载和采集!