Heim > Backend-Entwicklung > Golang > Wie konvertiere ich einen int96 Parquet-Zeitstempel in Go's time.Time?

Wie konvertiere ich einen int96 Parquet-Zeitstempel in Go's time.Time?

Patricia Arquette
Freigeben: 2024-12-31 21:57:10
Original
832 Leute haben es durchsucht

How to Convert an int96 Parquet Timestamp to Go's time.Time?

Int96-Zeitstempel von Parquet to Go umwandeln

Einführung

Beim Arbeiten mit in Parkettdateien gespeicherten Zeitstempeln stößt man häufig auf Daten, die als int96 dargestellt werden Datentyp. Dieses 12-Byte-Format besteht aus einem Zeitstempel- und einem Datumsteil. Für die Datenmanipulation und -analyse ist es von entscheidender Bedeutung, zu verstehen, wie dieser int96-Zeitstempel in Go in einen Zeitstempel umgewandelt wird.

Int96-Zeitstempel dekodieren

Der Schlüssel zum Dekodieren eines int96-Zeitstempels liegt im Erkennen seiner Struktur. Die ersten acht Bytes stellen den Zeitstempel als Nanosekunden dar, werden jedoch in umgekehrter Bytereihenfolge gespeichert.

time_nano = ReverseBytes((timestamp[0:8]))
Nach dem Login kopieren

Die restlichen vier Bytes stellen das Datum als julianische Tageszahl dar.

julian_day = ReverseBytes((timestamp[8:12]))
Nach dem Login kopieren

Beispiel Berechnung

Berücksichtigen Sie den folgenden int96-Zeitstempel: [128, 76, 69, 116, 64, 7, 0, 0, 48, 131, 37, 0].

  • Zeit (Nanosekunden): Das Umkehren der ersten acht Bytes ergibt 0x60FD4B3229000059682500, was entspricht 45296 Sekunden (d. h. 12 Stunden, 34 Minuten, 56 Sekunden) 01.
  • Golang-Code Implementierung
  • Hier ist ein Go-Codeausschnitt, der den Dekodierungsprozess demonstriert:

Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen int96 Parquet-Zeitstempel in Go's time.Time?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage