Bahasa Indonesia

Alat pengembang · Konverter stempel waktu Unix

Mengapa waktu Unix dimulai pada 1 Januari 1970: sejarah singkat zaman tersebut

· Latar belakang

stempel waktu waktu unix format data

Garis waktu yang memancar dari titik nol pada zaman Unix
Ilustrasi vektor ToolAcre asli

Tidak terjadi apa-apa pada 1 Januari 1970; tanggal tersebut dipilih untuk kenyamanan setelah jam asli Unix terancam meluap. Posting ini menceritakan kisah awal jam Unix, peralihan ke detik, dan bagaimana konvensi menyebar ke mana-mana.

Tanggal yang tidak dirayakan oleh siapa pun — mengapa 1970 terus muncul di bug, default, dan dasbor setengah abad kemudian

Januari 1970 muncul setiap kali perangkat lunak melakukan kesalahan dalam durasi kecil atau detik dihitung dalam milidetik. Ini bukan ulang tahun cadangan yang dibuat oleh ToolAcre; itu adalah titik nol dari mana masukan diinterpretasikan. Tes untuk epoch zero menghasilkan `1970-01-01T00:00:00.000Z` dan Kamis.

Oleh karena itu, melihat tanggal tersebut merupakan tindakan diagnostik. Nilai yang mendekati nol, bidang yang hilang yang dipaksa menjadi nol, atau ketidakcocokan skala, semuanya dapat terjadi di dekatnya. Tangkap nilai mentah sebelum menyalahkan pemformatan. Output kalender mengungkapkan aritmatika yang diterimanya.

Tabel masa penting ToolAcre memberikan nol label yang disengaja, memperkuat bahwa 1970 adalah referensi yang ditentukan dan bukan halaman kesalahan yang dipilih oleh browser.

Jam pertama Unix — menghitung enam puluh detik dari awal 1971 dan kehabisan ruang 32-bit dalam waktu kurang dari tiga tahun

Buku kerja ini memberikan penjelasan rinci tentang jam awal yang menghitung enam puluh dari 1971. Tidak ada sumber repositori yang diperlukan yang mendokumentasikan riwayat tersebut. Mengulanginya dari ingatan akan melanggar kontrak penulisan bahkan jika sejarah eksternal mungkin mendukungnya.

Yang dapat didemonstrasikan adalah sumbu saat ini: nol pada epoch, detik positif setelahnya, dan detik negatif sebelum epoch. Mekanisme itu cukup untuk menggunakan konverter dan perangkat lunak diagnosis. Artikel sejarah di masa depan harus menambahkan sumber-sumber primer atau ilmiah yang telah dikaji daripada memperlakukan kode sebagai bukti pertemuan desain.

Repositori ini tidak mengambil sumber desain jam pertama Unix, sehingga tidak ada rekonstruksi sejarah yang dilakukan

ToolAcre memberi nama stempel waktu Unix masukannya dan mendefinisikannya dalam panduan kesalahan sebagai detik atau milidetik sejak 1970-01-01 UTC. Sumber tersebut tidak menjelaskan mengapa tahun tersebut dipilih, apakah kebulatan itu penting, atau apa yang diinginkan oleh para desainer cakrawala. Motif-motif tersebut tetap dihilangkan.

Aritmatika memang menjelaskan kegunaan abadi dari titik asal yang tetap: pengurangan menghasilkan jarak yang telah berlalu, urutan perbandingan instan, dan tanda menunjukkan di sisi mana nilai nol berada. Pilihan angka nol bersifat konvensional; Konsistensi antara produsen dan konsumen inilah yang membuat angka-angka tersebut dapat saling dioperasikan.

Perbedaan ini memisahkan konvensi dan konsekuensi. Perangkat lunak dapat dengan percaya diri bergantung pada konsekuensinya sementara para sejarawan terus mengevaluasi bukti-bukti tentang asal muasal konvensi tersebut.

Definisi yang diterapkan menggunakan 1970; Motif pemilihannya memerlukan sumber sejarah yang tidak ada di sini

Pengujian memodelkan setiap hari seperti yang dilakukan konversi POSIX dan secara eksplisit melompat dari `2016-12-31T23:59:59Z` ke `2017-01-01T00:00:00Z`. Itu adalah bukti yang dapat dieksekusi untuk perilaku alat ini. Ini bukan kutipan untuk kata-kata atau cakupan penuh dari standar eksternal apa pun.

Pertahankan klaim standar yang berbeda dari pengujian implementasi. Sebuah tes membuktikan apa yang dilakukan sebuah rilis di bawah perlengkapannya; dokumen standar mendefinisikan apa yang harus dilakukan oleh sistem yang sesuai. Di sini kontrak praktisnya cukup jelas untuk memprediksi keluaran tanpa menciptakan sejarah formalisasi.

Pengujian ini juga mencegah pemfaktoran ulang di masa mendatang untuk secara diam-diam memasukkan label lompatan khusus ke dalam keluaran. Kompatibilitas yang dapat diamati dijaga tanpa melebih-lebihkan alasan konvensi tersebut ada.

ToolAcre menguji model gaya POSIX tetapi tidak berfungsi sebagai kutipan standar

JavaScript Tanggal mewakili jumlah zamannya dalam milidetik, sementara ToolAcre menerima detik Unix dan mengonversinya dengan mengalikannya dengan 1,000. Rute juga mengembalikan kedua bentuk tersebut. Batasan tersebut menjelaskan mengapa aplikasi web sering menampilkan momen yang sama dengan tiga angka nol desimal tambahan.

Repositori tidak dapat menetapkan kronologi dimana database, perpustakaan C, dan ekosistem lainnya mengadopsi representasi zaman. Daripada menceritakan penyebaran yang tidak bersumber, ini menunjukkan lapisan interoperabilitas saat ini dan memberi label pada unit yang digunakan. Ini adalah bukti yang dapat ditindaklanjuti bagi pengembang yang bekerja saat ini.

Pengekangan tersebut menghindari kegagalan konten yang biasa terjadi: jaringan pencapaian yang masuk akal diulangi tanpa kutipan hingga pembaca kemudian salah mengira akumulasi pengulangan sebagai bukti dokumenter.

Bukti penyimpanan menunjukkan representasi milidetik JavaScript, bukan riwayat penyebaran penuh

Epoch yang tetap tidak memiliki zona lokal. ToolAcre memformat Tanggal yang dihasilkan dalam UTC dan secara terpisah di zona lokal browser. Nilai negatif meluas sebelum nol, seperti yang ditunjukkan oleh tes −1. Konsekuensi tersebut mengikuti langsung dari sumbu numerik dan lapisan pemformatan.

Implementasinya juga memiliki rentang Tanggal ±8.64×10¹⁵ milidetik. Itu adalah batasan representasi yang dipilih, bukan batasan yang melekat pada gagasan abstrak suatu zaman. Selalu identifikasi rentang dan satuan siapa yang sedang dibahas sebelum menggeneralisasi hasil konverter.

Pemformat lokal dapat menerapkan tanggal sebelum atau sesudah batas UTC bergantung pada offset. Itu tidak berarti nol; itu hanya mengubah proyeksi kalender manusia.

Hal yang tidak tercakup dalam hal ini — zaman sistem lain, seperti 1900, 1601, dan 1980, yang memiliki sejarahnya sendiri

Sistem lain dapat memilih skala nol dan skala lain, itulah sebabnya bilangan bulat besar mungkin tetap tidak masuk akal pada kedua unit ToolAcre. Artikel ini tidak menceritakan sejarah asal usul 1900, 1601 atau 1980. Sebaliknya, artikel 340 berfokus pada mengenali ketidakcocokan tersebut dan mendapatkan konversi dari definisi yang terdokumentasi.

Jika asal usulnya tidak diketahui, bandingkan dengan dokumentasi sumber daripada berulang kali menggeser angka nol. Konverter Unix dengan sengaja mengasumsikan 1970; ia tidak dapat mengidentifikasi zaman asing secara otomatis dari satu nomor. Menjaga titik asal di samping satuan mencegah keberhasilan aritmatika menjadi kesalahan semantik.

Asal usul zaman lainnya dibandingkan secara terpisah tanpa mengklaim sejarahnya di sini

Pelajaran yang dapat diandalkan bersifat mekanis: Unix zero dipetakan ke awal 1970 UTC, tanda-tanda meluas di sekitarnya, dan detik menjadi JavaScript milidetik sebelum pemformatan Tanggal. ToolAcre membuat setiap fakta tersebut dapat diamati dengan nilai 0, −1 dan tabel zaman penting.

Alasan orang memilih konvensi tersebut berasal dari sumber sejarah, bukan kesimpulan dari kode modern. Menghormati batasan tersebut menghasilkan penjelasan yang lebih pendek namun lebih benar. Gunakan konverter untuk aritmatika; gunakan materi sejarah yang sesuai sebelum mengaitkan motif atau peristiwa penting.

Disiplin pembuktian adalah bagian dari akurasi teknis. Kelalaian yang tepat akan memberi tahu pengelola sumber daya baru apa yang dibutuhkan sebelum catatan sejarah dapat diperluas secara bertanggung jawab.