首頁 > 後端開發 > Golang > 如何將 Parquet Int96 時間戳記轉換為 Go 時間戳記?

如何將 Parquet Int96 時間戳記轉換為 Go 時間戳記?

Mary-Kate Olsen
發布: 2024-12-21 17:41:10
原創
870 人瀏覽過

How Do I Convert a Parquet Int96 Timestamp to a Go Timestamp?

將 Int96 時間戳從 Parquet 轉換為 Go

要將表示時間戳的 int96 值從 Parquet 檔案轉換為 Go時間戳,請依照下列步驟操作步驟:

  1. 分隔Int96 值: int96 時間戳記是12 位元組數組,由兩個部分組成:

    • 前 8個bytes:以奈秒為單位的時間,以相反的位元組順序儲存
    • 最後4個bytes:日期為儒略日數
  2. 從前 8位元組解析時間:

    • 反轉位元組以取得正確的時間值(給定中的0x000029324BFD6000)範例)
    • 將值除以10^9將奈秒轉換為秒(在本例中為45296秒)
  3. 從最後4 個​​資料中擷取日期位元組:

    • 反轉位元組取得儒略日數字(範例中為0x00256859)
    • 使用函式庫或手動計算將儒略日數字轉換為 Go 時間戳記(在本例中為 2000-01-01 12:34:56)
  4. 寫時間戳記:合併解析的時間和日期,以建立表示原始 int96 值的 Go 時間戳記。

注意: Parquet 中的 int96 時間戳不是從紀元開始測量的,而是從午夜開始測量的。轉換為 Go 時間戳記時請記住這一點。

以上是如何將 Parquet Int96 時間戳記轉換為 Go 時間戳記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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