Regarding converting milliseconds to time in Golang, we can first understand Go’s time type, which is time.Time
. It is defined as follows:
type Time struct { wall uint64 ext int64 loc *Location }
where the wall
field represents the number of nanoseconds since the Unix epoch, ext
represents the offset within nanoseconds, loc
represents time zone information.
So, to convert milliseconds to time, we need to first convert the number of milliseconds to the time.Time
type, and then format the output according to our own needs.
The implementation is as follows:
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")) }
In this code snippet, we use the time.Unix
function to convert milliseconds to time.Time
type. The first parameter of this function represents the number of seconds from the beginning of the Unix epoch to this moment, and the second parameter represents the offset in nanoseconds, calculated as the number of milliseconds multiplied by 1,000,000.
Then, we use the Format
method of the time.Time
type to format the time and output it. Please note that the time format in the format string here must conform to Go's time formatting rules, which are different from the time formatting rules of other languages.
In general, converting milliseconds to time in Golang is relatively simple. You only need to use the time.Unix
function to convert the number of milliseconds to the time.Time
type, and then Then format the output as required.
The above is the detailed content of golang millisecond to time. For more information, please follow other related articles on the PHP Chinese website!