首頁 > 後端開發 > Golang > 如何在 Go 中正確檢索 Unix 時間戳記?

如何在 Go 中正確檢索 Unix 時間戳記?

Susan Sarandon
發布: 2024-12-03 11:02:10
原創
416 人瀏覽過

How to Correctly Retrieve a Unix Timestamp in Go?

在Go 中檢索Unix 時間戳

在Go 中,可以實現獲取Unix 時間戳(自紀元以來的當前時間,以秒為單位)使用時間包。此時間戳通常用於各種目的,例如用於檔案修改或資料庫時間戳記。

原始程式碼

問題中提供的程式碼嘗試擷取Unix 時間戳使用os.Time 函數:

if t, _, err := os.Time(); err == nil {
    port[5] = int32(t)
}
登入後複製

此程式碼片段存在邏輯錯誤。以下是程式碼的詳細分解:

  • os.Time():函數傳回 Time 類型,具有任意時區偏移的掛鐘時間戳記。
  • _, _, err := os.Time():由於我們只關心目前本地時區的時間戳,因此我們使用兩個底線命名的變數(_表示空變數名稱)來丟棄其他兩個返回值。
  • port[5] = int32(t):此行嘗試將 Time 值直接指派給 int32 陣列元素。但是,Time 是 time.Time 類型,與 int32 不直接相容。

更新的程式碼

要在 Go 中取得 Unix 時間戳,更適合的函數是 time.Now().Unix()。此函數傳回一個整數,表示目前時間為自 Unix 紀元(UTC 時間 1970 年 1 月 1 日)以來的秒數。更新後的程式碼將是:

import "time"

...

port[5] = time.Now().Unix()
登入後複製

此修訂後的程式碼正確檢索Unix 時間戳,並透過使用time.Now().Unix() 進行轉換,將其作為int32 分配給port[ 5] 元素,它傳回一個整數。

以上是如何在 Go 中正確檢索 Unix 時間戳記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板