Menukar Cap Masa Int96 daripada Parket kepada Pergi
Tugas yang sedang dijalankan melibatkan mengubah cap masa int96 12-bait yang disimpan dalam format Parket menjadi Cap masa yang serasi dengan Go. Format int96 menampung cap masa sebagai tatasusunan tertib sebanyak 12 bait, di mana 8 bait pertama mewakili masa dalam nanosaat dan baki 4 bait melambangkan tarikh dalam Nombor Hari Julian.
Proses Penukaran Terperinci:
-
Terbalikkan Susunan Masa Bait: Cap masa Int96 menggunakan tertib bait terbalik. Oleh itu, bait masa (8 yang pertama) hendaklah diterbalikkan.
-
Kira Masa dalam Nanosaat: Tafsirkan bait masa terbalik sebagai integer untuk menentukan masa dalam nanosaat.
-
Dapatkan Nombor Hari Julian: Balikkan baki 4 bait untuk mendapatkan Nombor Hari Julian.
-
Tukar Nombor Hari Julian kepada Tarikh: Gunakan perpustakaan atau fungsi untuk menukar Nombor Hari Julian kepada objek tarikh.
Contoh:
Pertimbangkan cap waktu int96 sebagai tatasusunan 12 bait: [128 76 69 116 64 7 0 0 48 131 37 0]
- Terbalikkan bait masa: [0 0 0 0 29 32 4B FD 60]
- Tukar kepada nanox20saat:4B0x20saat = 45296 * 10^9 nanosaat
- Terbalikkan bait tarikh: [0 25 68 59]
- Tukar kepada Nombor Hari Julian: 0x59682500 = 2451545
- Menggunakan perpustakaan/fungsi yang sesuai, tukarkan Nombor Hari Julian kepada tarikh yang sepadan, yang dalam kes ini ialah 2000-01-01
Atas ialah kandungan terperinci Bagaimana untuk Menukar Cap Masa Int96 Parket kepada Cap Masa Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!