Bahasa Melayu

Alat pembangun · Penukar cap masa Unix

Bukan setiap zaman 1970: NTP, Windows FILETIME, GPS dan tarikh Excel

· Latar belakang

cap masa format data penyahpepijatan

Beberapa garis masa dengan titik sifar berbeza menumpu pada satu masa
Ilustrasi vektor ToolAcre asal

Asal 1970 Unix hanyalah satu daripada banyak. Siaran ini meninjau zaman yang akan anda temui dalam fail dan protokol (1900, 1601, 1904, 1980, 2001) dan menunjukkan cara untuk mengecam nilai yang tidak pernah menjadi masa Unix sama sekali.

Cap masa yang mendarat di 1900 — nilai daripada tangkapan rangkaian yang tiada pilihan unit boleh jadikan wajar

Nombor daripada tangkapan paket boleh menghasilkan karut di bawah kedua-dua saat dan milisaat kerana unit itu bukan satu-satunya parameter tersembunyi. Epoch bermaksud titik sifar yang dipilih; Unix menggunakan 1970, manakala protokol lain mungkin dikira dari tempat lain. Penskalaan semula tidak boleh membaiki asal yang salah.

Apabila kedua-dua bacaan ToolAcre bercanggah dengan masa acara yang diketahui, hentikan togol. Kenal pasti nama medan, pengeluar, versi protokol dan asal yang didokumenkan. Pemangkasan digit berulang kali sehingga tahun yang munasabah muncul menukar penyiasatan kepada kebetulan.

Diagnostik yang sama digunakan apabila tarikh yang wajar muncul tetapi bercanggah dengan peristiwa sekeliling. Kebolehpercayaan adalah pemeriksaan yang lemah; asal dan peristiwa rujukan yang diketahui adalah lebih kuat.

NTP dan 1900 — beberapa saat sejak 1900-01-01 dengan pecahan 32-bit, dan peralihan 2036 yang dibawanya

Buku kerja membekalkan asal usul, reka letak pecahan dan tarikh peralihan NTP. Tiada yang dilaksanakan atau diuji dalam penukar Unix, jadi artikel ini tidak memperakui spesifik tersebut. Tangkapan rangkaian mesti dinyahkod mengikut dokumentasi protokol yang digunakan oleh penghantar dan penghurai.

Sahaja selepas memperoleh saat Unix, nilai harus memasuki alat ini. Kekalkan konteks era atau peralihan kerana satu medan lebar tetap mungkin tidak mengenal pasti medan itu sahaja. Hasil UTC yang digilap daripada era yang diandaikan boleh menjadi konsisten secara dalaman dan salah secara luaran.

Medan protokol juga boleh memisahkan komponen keseluruhan dan pecahan. Menggabungkan atau memperpuluhan mereka tanpa skala yang ditentukan menghasilkan nombor baharu yang tidak dimaksudkan oleh penyahkod patuh.

NTP butiran penukaran dan gelagat peralihan memerlukan dokumentasi sumber tidak terdapat di sini

Begitu juga, kaunter Windows dan .NET yang dinamakan bukan mod yang diterima. Repositori tidak mengandungi pemalar untuk asal usul atau skala kutunya. Nilai perpuluhan besarnya mungkin melebihi julat integer tepat JavaScript sebelum pembangun mencuba penukaran.

Gunakan pustaka selamat integer yang berasaskan definisi didokumentasikan platform, kekalkan yang asal sebagai teks atau integer lebar, dan kemudian mengeluarkan nilai Unix. Jangan tolak offset yang diingati dalam takat terapung. Ketepatan pada bahagian rendah penting apabila resolusi sumber lebih halus daripada milisaat.

Ujian pergi balik harus mengandungi nilai dengan digit bukan sifar subsaat. Lekapan sepanjang saat tidak boleh mendedahkan sama ada baki 100-nanosaat atau milisaat telah dipelihara dengan betul.

Takrifan FILETIME dan .NET tidak dilaksanakan oleh ToolAcre dan tidak ditegaskan daripada ingatan

Tarikh hamparan memperkenalkan perwakilan yang berbeza: siri berangka yang ditafsirkan oleh tetapan sistem tarikh buku kerja. Tuntutan 1900 buku kerja dan tuntutan Mac yang lebih lama memerlukan sumber hamparan dan tidak ditubuhkan di sini. ToolAcre tidak membaca metadata buku kerja.

Periksa fail dengan alat sedar hamparan, tentukan sistem tarikh yang dikonfigurasikan dan simpan ketepatan hari pecahan menggunakan pustaka tersebut. Merawat siri sebagai saat Unix boleh menghasilkan tarikh awal-1970 yang kelihatan seperti pepijat skala biasa manakala masalah sebenar ialah asal dan unit bersama.

Tetapan buku kerja boleh bergerak dengan fail, jadi dua siri visual yang serupa mungkin menggunakan asal yang berbeza. Penukaran berada di sempadan dokumen di mana metadata itu tersedia.

Sistem bersiri hamparan dan kebiasaan memerlukan bukti khusus hamparan

GPS dan zaman berkaitan Apple yang dinamakan dalam garis besar juga berada di luar pelaksanaan. Hubungan mereka mungkin melibatkan konvensyen skala di luar peralihan asal yang berterusan. Tiada formula ofset atau penukaran semasa diterbitkan di sini tanpa bukti yang berwibawa.

Diagnostik umum masih dipindahkan: mengenal pasti sifar, tempoh tanda dan konvensyen lonjakan daripada pengeluar. Kemudian tukar dengan perpustakaan yang sesuai dan sahkan terhadap cap waktu yang diketahui daripada set data yang sama. Tiga fakta bebas adalah lebih selamat daripada tekaan lebar perpuluhan.

Perhatian itu amat penting di sekitar konvensyen lompat. Pemalar yang berfungsi untuk satu skala dan tarikh mungkin bukan hubungan abadi antara setiap pasangan sistem.

GPS dan hubungan zaman Apple memerlukan sumber berwibawa di luar modul ini

Kaedah kerja yang boleh dipertahankan bermula dengan segera yang diketahui, contohnya ToolAcre yang disahkan `2025-02-03T10:23:00.000Z`, bersamaan dengan 1,738,578,180 saat Unix. Untuk satu lagi zaman yang didokumenkan, hitung nilainya menggunakan asal dan skala rasmi sistem tersebut dengan aritmetik integer, kemudian tukarkannya semula menggunakan takrifan yang sama.

Bandingkan perjalanan pergi dan balik ke rentetan ISO Unix dan kekalkan terbitan. Artikel ini sengaja tidak mengisi jadual lima zaman dengan pemalar yang tidak dibaca. Kaedah ini mendedahkan setiap andaian dan boleh disemak terhadap mana-mana protokol atau format fail yang sebenarnya menghasilkan data.

Kaedah yang berfungsi: memperoleh satu seketika merentas zaman yang didokumenkan dan bukannya menerbitkan pemalar yang tidak disahkan

ToolAcre tidak mengenali atau menukar zaman asing secara automatik. Menu unitnya menyatakan saat dan milisaat, kedua-duanya di bawah takrif Unix dalam konfigurasi. Pengesanan automatik sahaja memilih antara skala tersebut pada magnitud 10¹¹; ia tidak pernah mengubah titik sifar.

Kontrak sempit itu menghalang keyakinan palsu. Jika kiraan asing berlaku pada tarikh Unix yang munasabah, penukar tidak boleh memberi amaran bahawa asalnya adalah salah. Provenance mesti masuk sebelum aritmetik. Dokumentasikan transformasi dalam kod dan bukannya bergantung pada buku panduan manual.

Label automatik yang boleh dilihat sahaja melaporkan saat atau milisaat. Ia tidak boleh disebut sebagai bukti bahawa pengesanan asal berlaku, kerana tiada cawangan sedemikian wujud dalam sumber.

Bawa pulang: ketahui dari mana sifar anda mengira — dan cara penukar cap waktu Unix memberitahu anda dengan jelas bahawa ia membaca Unix saat atau milisaat

Ketahui dari mana sifar anda mengira, berapa besar satu tanda dan cara sumber mengendalikan skala masanya. Penukar Unix menjawab sahaja selepas soalan tersebut diselesaikan kepada saat atau milisaat sejak 1970 UTC. Ia tidak boleh membuat kesimpulan semantik daripada satu integer.

Gunakan bacaan dwi yang tidak munasabah sebagai isyarat untuk menyiasat asal, bukan sebagai kebenaran untuk terus mencuba pembahagi. Sebaik sahaja penukaran bersumber menghasilkan nilai Unix, ToolAcre menyediakan UTC dan pemeriksaan kewarasan tempatan bebas yang berguna sambil mengekalkan andaiannya sendiri.

Penyesuai yang baik menamakan jenis asing, melakukan satu transformasi bersumber dan mengeluarkan nilai Unix berjenama. Reka bentuk itu menghalang kaunter mentah daripada bocor ke dalam pembina tarikh generik.