Hubungkan jurang antara masa epoch dan tarikh manusia. Tukar sebarang cap masa Unix kepada tarikh yang boleh dibaca, atau sebaliknya — plus bacaan cap masa semasa secara langsung dengan satu klik.
Memuatkan kalkulator...
Adakah kalkulator ini membantu anda?
Apakah Penukar Cap Masa Unix?
Penukar cap masa Unix menukar antara cap masa Unix (saat sejak epoch) dan format tarikh/masa yang boleh dibaca oleh manusia. Juga memaparkan masa Unix semasa dengan satu klik. Penting untuk pembangun yang bekerja dengan data masa.
Bila Menggunakan Kalkulator Ini
Anda menyahpepijat API yang mengembalikan cap masa Unix dan perlu membacanya sebagai tarikh manusia
Anda menulis kod yang menyimpan atau membandingkan tarikh dan perlu menukar antara cap masa dan format tarikh
Anda memerlukan cap masa Unix semasa untuk entri log, panggilan API atau rekod pangkalan data
Anda menganalisis log pelayan di mana cap masa dalam format epoch
Anda ingin mengesahkan bahawa cap masa dalam kod anda sepadan dengan tarikh dan masa yang betul
Anda bekerja dengan pangkalan data atau sistem fail yang menggunakan cap masa Unix untuk metadata fail
Langkah:
Masukkan cap masa Unix untuk menukarnya kepada tarikh yang boleh dibaca.
Atau masukkan tarikh/masa untuk menukarnya kepada cap masa Unix.
Klik butang masa semasa untuk mendapatkan cap masa Unix semasa.
Salin hasil dengan butang salin.
Rumus
Cap Masa → Tarikh: new Date(timestamp × 1000)
Tarikh → Cap Masa: Math.floor(date.getTime() / 1000)
Epoch Unix: 1 Januari 1970 00:00:00 UTC
Cap masa 32-bit maksimum: 19 Januari 2038 (03:14:07 UTC)
Kes Penggunaan
Menyahpepijat respons API dengan cap masa
Menukar nilai cap masa pangkalan data
Menetapkan tarikh luput dalam kod
Analisis log dan tafsiran data siri masa
Faedah Utama
Tukar cap masa dan tarikh serta-merta
Masa Unix semasa dengan satu klik
Paparan dalam masa tempatan dan UTC
Percuma, tidak perlu mendaftar
Tips Pro
Sentiasa simpan cap masa dalam UTC dalam pangkalan data
Tukar kepada masa tempatan hanya untuk paparan
Gunakan integer 64-bit untuk storan cap masa
Sahkan cap masa kedua-dua arah sebelum bergantung kepadanya
Kesilapan Biasa
Lupa bahawa JavaScript menggunakan milisaat (×1000)
Menganggap semua API menggunakan format cap masa yang sama
Tidak mempertimbangkan perbezaan zon masa
Menggunakan integer 32-bit untuk cap masa dalam sistem baharu
Istilah Utama
Cap masa Unix: Saat sejak 1 Januari 1970 UTC
Epoch: Titik rujukan untuk pengukuran masa
UTC: Masa Universal Berkoordinasi
Masalah tahun 2038: Limpahan integer 32-bit
Konsep Berkaitan
Epoch Unix: 1 Januari 1970 00:00:00 UTC, titik rujukan dari mana semua cap masa Unix diukur
Masa Epoch: Sistem mewakili masa sebagai bilangan saat yang berlalu sejak epoch Unix
UTC (Masa Universal Berkoordinasi): Piawaian masa utama yang digunakan dunia untuk mengawal jam dan masa, bebas zon masa
Masalah Tahun 2038: Tarikh apabila cap masa Unix 32-bit akan limpah, berpotensi menyebabkan sistem mentafsir tarikh sebagai 1901
ISO 8601: Piawaian antarabangsa untuk mewakili tarikh dan masa (cth. 2024-06-29T12:00:00Z) sebagai alternatif kepada cap masa Unix
Contoh
Cap masa semasa: 1719676800 → Tarikh: 29 Jun 2024 12:00:00 PM UTC. Menukar tarikh: "1 Januari 2025 00:00:00 UTC" → Cap masa: 1735689600.
Mentafsir Hasil
Penukar berfungsi dalam dua arah: memasukkan cap masa Unix memberikan anda tarikh yang boleh dibaca manusia, dan memasukkan tarikh memberikan anda cap masa Unix. Masa Unix semasa dipaparkan di bahagian atas dengan butang segarkan, jadi anda sentiasa boleh melihat cap masa langsung tanpa menaip apa-apa.
Cap masa Unix mengira saat sejak 1 Januari 1970 UTC (epoch Unix). Ia bebas zon masa — cap masa yang sama mewakili detik yang sama di mana-mana di Bumi. Apabila anda memasukkan tarikh, penukar menggunakan ofsset zon masa tempatan anda untuk mengira cap masa, tetapi anda boleh bertukar kepada UTC jika anda memerlukan hasil neutral zon masa.
Masalah 2038 patut difahami: integer bertanda 32-bit limpah pada 19 Januari 2038, yang bermaksud sistem lama yang menggunakan cap masa 32-bit akan berbalik kepada nilai negatif. Sistem moden menggunakan cap masa 64-bit yang tidak akan limpah selama berbilion tahun. Jika anda menemui tarikh yang tidak dijangka sekitar 1901 atau 2038, limpahan 32-bit ialah punca yang mungkin.
Soalan Lazim
Apakah cap masa Unix?
Cap masa Unix ialah bilangan saat yang telah berlalu sejak 1 Januari 1970 pukul 00:00:00 UTC (epoch Unix). Ia adalah rujukan masa universal yang digunakan dalam pengaturcaraan dan pengkomputeran.
Mengapa cap masa berguna?
Cap masa menyediakan cara bebas zon masa untuk menyimpan dan membandingkan masa. Ia digunakan dalam pangkalan data, API, pengelogan dan sebarang sistem yang memerlukan penjejakan masa yang tepat.
Apakah masalah tahun 2038?
Pada 19 Januari 2038, cap masa Unix 32-bit akan limpah kerana integer bertanda 32-bit maksimum (2,147,483,647) akan dilebihi. Sistem moden menggunakan cap masa 64-bit untuk mengelakkan ini.
Apakah perbezaan antara saat dan milisaat dalam cap masa?
Cap masa Unix standard adalah dalam saat. JavaScript dan banyak API moden menggunakan milisaat (darabkan saat dengan 1000). Jika anda mendapat tarikh yang tidak dijangka, semak sama ada cap masa dalam saat atau milisaat — cap masa milisaat yang ditafsir sebagai saat akan menunjukkan tarikh yang jauh di masa depan, dan sebaliknya.
Mengapa cap masa saya menunjukkan tarikh yang berbeza daripada yang saya jangkakan?
Punca paling biasa ialah: cap masa dalam milisaat dan bukannya saat (atau sebaliknya), perbezaan zon masa antara tempat cap masa dijana dan tempat anda melihatnya, atau limpahan 32-bit untuk nilai yang sangat besar atau sangat kecil. Togol antara UTC dan masa tempatan untuk mengetepikan masalah zon masa.
Bolehkah saya menukar cap masa sebelum 1970?
Ya. Cap masa sebelum 1 Januari 1970 diwakili sebagai nombor negatif. Sebagai contoh, -86400 mewakili 31 Disember 1969 pukul 00:00:00 UTC. Penukar mengendalikan cap masa negatif dengan betul.
Format apakah yang biasanya digunakan oleh pangkalan data untuk cap masa?
Kebanyakan pangkalan data bersekutu (PostgreSQL, MySQL) menyokong kedua-dua cap masa Unix (sebagai lajur integer) dan jenis datetime/timestamp asli. TIMESTAMPTZ PostgreSQL menyimpan cap masa sedar zon masa secara dalaman. Pilihan bergantung pada keperluan aplikasi anda — cap masa Unix lebih mudah untuk perbandingan, manakala jenis datetime asli lebih mudah dibaca dalam pertanyaan.
Bagaimanakah saya mengendalikan penukaran zon masa dengan cap masa Unix?
Cap masa Unix sentiasa UTC secara dalaman. Untuk memaparkan dalam zon masa tempatan, gunakan ofsset zon masa pada masa paparan. Kebanyakan bahasa pengaturcaraan mempunyai fungsi penukaran zon masa terbina dalam. Dalam JavaScript: new Date(timestamp * 1000).toLocaleString('en-US', { timeZone: 'America/New_York' }).
Apakah nilai cap masa Unix maksimum?
Integer bertanda 64-bit boleh mewakili cap masa sehingga kira-kira 292 bilion tahun dari epoch — jauh melebihi usia alam semesta. Secara praktikal, cap masa 64-bit tidak akan pernah limpah. Had 32-bit (2,147,483,647 saat) bersamaan dengan 19 Januari 2038 pukul 03:14:07 UTC.
Mengapa sesetengah sistem beralih daripada cap masa Unix?
Cap masa Unix kehilangan kebolehbacaan untuk manusia dan tidak mengendalikan saat lompat, perubahan zon masa atau perbahasan kalendar dengan baik. Rentetan ISO 8601 (cth. 2024-06-29T12:00:00Z) mendokumenkan diri sendiri dan sedar zon masa. Walau bagaimanapun, cap masa Unix kekal popular kerana kesederhanaan, kepadatan dan kebebasan zon masa dalam storan dan pengiraan.