Pembangun

Penukar Timestamp Unix

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.

Adakah kalkulator ini membantu anda?

Apakah Penukar Timestamp Unix?

Penukar Cap Masa Unix adalah alat pembangun penting yang merapatkan jurang antara masa epoch yang boleh dibaca mesin dengan tarikh yang boleh dibaca manusia. Masa Unix (juga dipanggil masa epoch) mengukur jumlah detik yang telah berlalu sejak 1 Januari 1970 00:00:00 UTC — saat apabila sistem pengendalian Unix pertama kali dimulakan pada komputer PDP-11 di Bell Labs. Tarikh ini dikenali sebagai Epoch Unix dan berfungsi sebagai titik sifar sejagat untuk pengukuran masa dalam pengkomputeran. Penukar berfungsi dalam dua arah: masukkan cap masa Unix (biasanya nombor 10 digit untuk detik atau 13 digit untuk milisaat) untuk melihat tarikh yang sepadan, atau masukkan tarikh dan masa untuk mendapatkan cap masa Unix yang setara. Paparan cap masa semasa secara langsung dikemas kini setiap detik supaya anda boleh menangkap saat yang tepat dengan satu klik. Date.now() JavaScript dan kebanyakan API moden mengembalikan cap masa dalam milisaat (13 digit), manakala pangkalan data dan sistem legacy sering menggunakan detik (10 digit) — mencampur keduanya adalah salah satu ralat yang paling biasa dalam pembangunan web. Penukar juga mengendalikan cap masa negatif yang mewakili tarikh sebelum epoch (31 Disember 1969 dan sebelumnya). Tukar antara UTC dan masa tempatan untuk mengesahkan nilai yang sensitif kepada zon waktu.

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:

  1. Masukkan cap masa Unix untuk menukarnya kepada tarikh yang boleh dibaca.
  2. Atau masukkan tarikh/masa untuk menukarnya kepada cap masa Unix.
  3. Klik butang masa semasa untuk mendapatkan cap masa Unix semasa.
  4. 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

  • Penukaran segera antara cap masa Unix dan tarikh yang boleh dibaca manusia dalam kedua-dua arah
  • Cap masa Unix semasa secara langsung dikemas kini setiap detik dengan butang salin satu klik
  • Tukar antara UTC dan masa tempatan untuk mengesahkan nilai sensitif zon waktu
  • Mengendalikan kedua-dua format 10 digit (detik) dan 13 digit (milisaat)
  • Memproses cap masa negatif untuk tarikh sebelum epoch Unix (sebelum 1970)
  • Percuma, segera, dan berfungsi dalam pelayar anda tanpa pendaftaran atau pengumpulan data

Tips Pro

  • Sentiasa simpan cap masa dalam UTC dalam pangkalan data — tukar ke masa tempatan hanya untuk paparan.
  • Ingat bahawa Date.now() JavaScript mengembalikan milisaat. Untuk detik: Math.floor(Date.now() / 1000).
  • Gunakan integer 64-bit untuk penyimpanan cap masa dalam sistem baharu untuk mengelakkan masalah limpahan 2038.
  • Apabila menyiapkan tarikh yang tidak dijangka, semak terlebih dahulu sama ada cap masa dalam detik atau milisaat — perbezaannya ialah faktor 1000.
  • Untuk token pengesahan API atau URL yang ditandatangani, kira cap masa tamat tempoh di pihak server dan bandingkan dengan masa Unix semasa untuk mengesahkan kesahihan.

Kesilapan Biasa

  • Lupa bahawa Date.now() JavaScript mengembalikan milisaat — sentiasa bahagi dengan 1000 apabila membandingkan dengan cap masa berasaskan detik.
  • Menganggap semua API menggunakan format yang sama — sesetengah mengembalikan detik, yang lain milisaat. Sentiasa semak dokumentasi API.
  • Tidak mengambil kira perbezaan zon waktu antara tempat cap masa dijana dan tempat ia dilihat, menyebabkan tarikh kelihatan berbeza beberapa jam.
  • Menggunakan integer 32-bit untuk penyimpanan cap masa dalam sistem baharu dan bukannya 64-bit, yang akan melimpah pada 2038 dan merosakkan aplikasi.

Istilah Utama

Cap masa Unix: Bilangan detik yang telah berlalu sejak 1 Januari 1970 00:00:00 UTC (Epoch Unix)
Epoch: Titik rujukan untuk pengukuran masa dalam pengkomputeran; untuk Unix, ia adalah 1 Januari 1970 00:00:00 UTC
UTC (Waktu Universal Berkoordinasi): Standard masa utama yang digunakan di seluruh dunia, bebas daripada sebarang zon waktu
Masalah Tahun 2038: Tarikh apabila cap masa Unix 32-bit akan melimpah, memaksa sistem beralih kepada nilai negatif dan memaparkan tarikh sekitar 1901.
Cap masa milisaat: Cap masa Unix 13 digit di mana masa diukur dalam milisaat berbanding detik, digunakan oleh Date.now() JavaScript dan kebanyakan API moden.

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.

Terokai Lebih Banyak Alat

Pilihan segar dari seluruh perpustakaan alat kami.