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:
- 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
- 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.

