Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menukar Cap Masa Int96 12-bait kepada Cap Masa GoLang?

Bagaimana untuk Menukar Cap Masa Int96 12-bait kepada Cap Masa GoLang?

Susan Sarandon
Susan Sarandonasal
2024-12-22 12:33:18833semak imbas

How to Convert a 12-Byte Int96 Timestamp to a GoLang Timestamp?

Menukar Cap Waktu Parket Int96 kepada GoLang

Dalam senario ini, anda mempunyai tatasusunan cap waktu int96 12 bait dan ingin menukarkannya kepada cap masa dalam GoLang.

Biasanya, cap waktu int96 terdiri daripada satu Bahagian nanosaat 8-bait dan bahagian tarikh 4-bait disimpan sebagai nombor hari Julian. Walau bagaimanapun, dalam kes ini, 8 bait pertama sebenarnya adalah nanosaat, bukan milisaat dan zamannya ialah tengah malam, bukan zaman Unix.

Untuk menggambarkan proses penukaran, mari pertimbangkan cap waktu int96 berikut:

[128 76 69 116 64 7 0 0 48 131 37 0]

Untuk mentafsirnya dengan betul:

  1. Terbalik 8 bait pertama untuk mendapatkan bahagian nanosaat: 0x0000000029324BFD
  2. Tukarkannya kepada integer: 45296 * 10^9 nanosaat
  3. Tukarkan hasilnya kepada saat: 45296 saat
  4. Extract🎜 komponen masa dari saat: 12 jam 34 minit 56 saat
  5. Terbalikkan 4 bait terakhir untuk mendapatkan nombor hari Julian: 0x00256859
  6. Tukarkannya kepada integer: 2451545
  7. Cari tarikh yang sepadan menggunakan Kalendar hari Julian: 2000-01-01
Oleh itu, cap waktu int96 [128 76 69 116 64 7 0 0 48 131 37 0] mewakili cap masa 2000-01-01:56 dalam Go. 🎜>

Atas ialah kandungan terperinci Bagaimana untuk Menukar Cap Masa Int96 12-bait kepada Cap Masa GoLang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn