首頁 >後端開發 >Golang >golang毫秒轉時間

golang毫秒轉時間

WBOY
WBOY原創
2023-05-12 22:32:361580瀏覽

關於 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毫秒轉時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn