Penukar Cap Masa Unix

Penukar cap masa Unix kami menterjemah cap masa epoch kepada tarikh yang mudah dibaca dan sebaliknya dalam masa nyata. Lihat cap masa Unix semasa dengan jam langsung, tukar sebarang cap masa kepada tarikh berformat, atau pilih tarikh untuk mendapatkan cap masa Unixnya. Menyokong saat (10 digit) dan milisaat (13 digit), paparan zon masa UTC dan tempatan, serta pelbagai format tarikh (ISO 8601, RFC 2822, mudah dibaca). Semua pemprosesan berlaku di dalam pelayar anda.

star 4.9
auto_awesome AI
New

Penukar Cap Masa calculator

Current Unix Timestamp

schedule Timestamp → Date

event Date → Timestamp

lightbulb Tips

  • 10 digits = seconds, 13 digits = milliseconds
  • Epoch = Jan 1, 1970 00:00:00 UTC
  • Always store timestamps in UTC
  • Y2038 problem: 32-bit overflow Jan 19, 2038

How to Use the Penukar Cap Masa

schedule

Lihat Masa Semasa

Lihat cap masa Unix semasa dengan jam kemas kini langsung.

event

Cap Masa → Tarikh

Tampal cap masa Unix untuk melihat tarikh dan masa yang sepadan.

pin

Tarikh → Cap Masa

Pilih tarikh dan masa untuk mendapatkan tanda masa Unix.

content_copy

Salin Keputusan

Salin sebarang format (saat, milisaat, ISO, RFC) dengan satu klik.

The Formula

Masa Unix (juga dipanggil masa epoch atau masa POSIX) mengira bilangan saat yang telah berlalu sejak 1 Januari 1970 pada 00:00:00 UTC. Tarikh ini dipanggil epoch Unix. Tanda masa boleh dalam bentuk saat (10 digit) atau milisaat (13 digit). Tanda masa negatif mewakili tarikh sebelum 1970.

Unix Timestamp = seconds elapsed since January 1, 1970 00:00:00 UTC (epoch)

lightbulb Variables Explained

  • Epoch 1 Januari 1970 00:00:00 UTC — asal usul masa Unix
  • Seconds (s) Tanda masa 10 digit (cth., 1700000000)
  • Milliseconds (ms) Tanda masa 13 digit (cth., 1700000000000)
  • UTC Masa Universal Berkoordinat — zon masa rujukan

tips_and_updates Pro Tips

1

Cap masa 10 digit adalah dalam saat, 13 digit adalah dalam milisaat — alat kami mengesan secara automatik

2

Epoch Unix adalah 1 Januari 1970 00:00:00 UTC — cap masa 0

3

JavaScript Date.now() mengembalikan milisaat, Python time.time() mengembalikan saat

4

Masalah Tahun 2038: Integer bertanda 32-bit melimpah pada 19 Jan 2038 pada 03:14:07 UTC

5

Cap masa negatif mewakili tarikh sebelum 1970 (cth., -86400 = 31 Dis 1969)

6

Sentiasa simpan cap masa dalam UTC dan tukar kepada masa tempatan untuk paparan

7

Format ISO 8601 (2024-01-15T10:30:00Z) adalah piawaian antarabangsa untuk pertukaran tarikh

Penyunting tanda masa Unix percuma kami menukar masa epoch kepada tarikh yang boleh dibaca manusia dan tarikh kepada tanda masa Unix serta-merta. Paparan jam langsung, menyokong saat dan milisaat, UTC serta masa tempatan. Alat pembangun yang penting.

Penukar Tanda Masa Unix ke Tarikh

Tukar sebarang tanda masa Unix kepada tarikh dan masa yang mudah dibaca.

Penukar kami:

  • mengesan saat secara automatik (10 digit) dan milisaat (13 digit)
  • menunjukkan UTC dan masa tempatan
  • memaparkan pelbagai format termasuk ISO 8601 dan RFC 2822

Penukar Tarikh ke Tanda Masa Unix

Tukar sebarang tarikh dan masa kepada tanda masa Unix.

Pilih tarikh, pilih zon masa anda, dan dapatkan masa epoch dalam saat dan milisaat.

Sesuai untuk:

  • pembangunan API
  • pertanyaan pangkalan data
  • penyahpepijatan isu berkaitan masa

Apakah Masa Unix dan Bagaimana Epoch Berfungsi?

Masa Unix ialah sistem untuk menjejak titik masa sebagai bilangan saat yang berlalu sejak epoch Unix, yang ditakrifkan sebagai 00:00:00 UTC pada 1 Januari 1970. IEEE dan The Open Group mengekodkan ini dalam piawaian POSIX (IEEE Std 1003.1), yang secara rasmi dipanggil "Saat Sejak Epoch."

Satu nuansa penting yang didokumenkan oleh POSIX ialah masa Unix sengaja mengabaikan saat lompat, jadi setiap hari dianggap tepat 86,400 saat. Kerana nilainya adalah satu integer tunggal yang bebas daripada zon masa, ia tidak mempunyai kekaburan merentasi sistem.

Menyimpan masa sebagai integer, seperti yang dicatatkan oleh Dokumen Web MDN untuk objek Date JavaScript, menjadikan aritmetik dan perbandingan sangat mudah berbanding menghurai rentetan tarikh berformat.

Saat vs Milisaat: Mengapa Panjang Tanda Masa Berbeza

Tanda masa Unix 10-digit mengira saat sejak epoch, manakala tanda masa 13-digit mengira milisaat, dan mencampurkannya adalah ralat penukaran yang paling biasa.

Menurut Dokumen Web MDN, Date.now() dan getTime() JavaScript mengembalikan milisaat, jadi 1700000000000 ialah nilai JS yang sah. Sebaliknya, fungsi POSIX C seperti time() dan time.time() Python, berserta kebanyakan pangkalan data SQL dan arahan date +%s Bash, beroperasi dalam saat (1700000000).

Untuk menukar antara keduanya, darabkan saat dengan 1,000 atau bahagikan milisaat dengan 1,000.

Penukar kami mengesan unit secara automatik mengikut kiraan digit, tetapi semasa menulis kod anda harus sentiasa mengesahkan unit yang dijangkakan oleh bahasa atau API anda untuk mengelakkan tarikh yang jatuh pada tahun 1970 atau beribu-ribu tahun pada masa hadapan.

Bagaimana Mendapatkan Tanda Masa Unix Semasa dalam Sebarang Bahasa

Anda boleh menjana tanda masa Unix semasa dengan satu panggilan dalam hampir setiap bahasa pengaturcaraan.

  • Dalam JavaScript, Dokumen Web MDN mengesyorkan Math.floor(Date.now() / 1000) untuk saat atau Date.now() untuk milisaat.
  • Dalam Python, time.time() mengembalikan nombor titik apung saat sejak epoch, sepadan dengan fungsi masa perpustakaan C yang ditakrifkan oleh POSIX.
  • Pada baris perintah, date +%s coreutils GNU mencetak tanda masa ketepatan saat semasa, manakala PHP menggunakan time() dan Go menggunakan time.Now().Unix().
  • Enjin SQL mendedahkan fungsi seperti UNIX_TIMESTAMP() dalam MySQL dan EXTRACT(EPOCH FROM now()) dalam PostgreSQL.

Semua ini merujuk kepada asal usul UTC 1970 yang sama, jadi nilainya boleh saling ditukar secara langsung sebaik sahaja anda menyeragamkan unit saat-lawan-milisaat.

ISO 8601 vs Tanda Masa Unix: Format Yang Mana Patut Anda Gunakan?

Gunakan tanda masa Unix untuk storan dan aritmetik, dan ISO 8601 untuk pertukaran dan log yang boleh dibaca manusia.

ISO 8601 ialah piawaian antarabangsa untuk mewakili tarikh dan masa sebagai rentetan seperti 2023-11-14T22:13:20Z, di mana huruf T besar memisahkan tarikh daripada masa dan huruf Z di hujung menandakan UTC (masa Zulu). Huruf tersebut adalah sensitif huruf besar-kecil, jadi jika anda mengemas rentetan yang disalin daripada sumber campuran huruf besar-kecil, lalu pantas melalui penukar kes menjadikannya boleh dihurai. RFC 3339 IETF memprofilkan ISO 8601 untuk digunakan di Internet dan merupakan perkara yang diterima oleh kebanyakan API JSON untuk medan tarikh, memandangkan JSON sendiri (RFC 8259) tiada jenis tarikh asli.

Integer Unix adalah lebih padat dan neutral lokal tetapi tidak menerangkan dirinya sendiri, manakala rentetan ISO 8601 boleh dibaca serta-merta. Banyak sistem menyimpan integer secara dalaman dan bersiri kepada ISO 8601 pada sempadan API untuk mendapatkan faedah kedua-duanya.

Zon Masa, UTC, dan Mengapa Tanda Masa Tidak Bergantung Pada Zon Masa

Tanda masa Unix tiada zon masa kerana ia sentiasa merujuk kepada satu detik tunggal yang diukur dari epoch dalam UTC. Zon masa hanya penting apabila anda memaparkan detik tersebut sebagai tarikh jam dinding untuk pengguna.

Pangkalan Data Zon Masa IANA (pangkalan data tz) ialah sumber berwibawa yang digunakan oleh sistem pengendalian dan bahasa untuk memetakan detik kepada masa tempatan, termasuk peraturan waktu musim panas sejarah.

Amalan terbaik, yang diulangi oleh Dokumen Web MDN dan pelbagai panduan kejuruteraan, adalah untuk menyimpan dan menghantar tanda masa dalam UTC serta menukar kepada zon tempatan penonton hanya pada masa paparan. Ini menghilangkan kekaburan berkaitan peralihan waktu musim panas dan menjadikan perbandingan merentas rantau boleh dipercayai serta boleh direplikasi.

Penjelasan Masalah Tahun 2038

Masalah Tahun 2038 ialah detik apabila integer bertanda 32-bit yang menyimpan masa Unix akan melimpah, berlaku pada 03:14:07 UTC pada 19 Januari 2038.

Nilai 32-bit bertanda maksimum pada 2,147,483,647 saat; satu saat kemudian ia berputar kepada nombor negatif yang besar, yang ditafsirkan oleh kod naif sebagai Disember 1901. Ini mencerminkan kebimbangan sejarah sekitar masalah Tahun 2000 tetapi berpunca daripada lebar tetap jenis C time_t pada platform legasi.

Sistem pengendalian dan bahasa moden sebahagian besarnya telah beralih kepada time_t 64-bit, yang menolak limpahan kira-kira 292 bilion tahun ke masa depan. Sistem terbenam dan format fail lama kekal sebagai kawasan risiko utama yang harus diaudit oleh pembangun.

Kegunaan Praktikal Setem Masa Unix dalam Pembangunan

Setem masa Unix adalah tunjang utama pengendalian masa dalam sistem backend, log, dan API kerana ia menyusun, membezakan, dan membandingkan sebagai integer biasa.

Pangkalan data menyimpan kolum created_at dan updated_at sebagai nilai epoch atau jenis setem masa yang diterbitkannya, dan lapisan cache menggunakan setem masa luput untuk membatalkan entri. Token keselamatan juga bergantung padanya: piawaian JWT, RFC 7519, mentakrifkan tuntutan exp (luput) dan iat (dikeluarkan-pada) sebagai nilai NumericDate, yang secara harfiah adalah saat sejak epoch Unix.

Log teragih dan strim acara menggunakan setem masa untuk menetapkan pesanan, dan pengehad kadar membandingkan epoch semasa dengan tetingkap yang disimpan. Sifat bebas bahasa mereka menjadikannya ideal untuk menyampaikan masa merentasi sempadan perkhidmatan.

Setem Masa Negatif dan Tarikh Sebelum 1970

Setem masa Unix negatif mewakili detik sebelum epoch, jadi -86400 sepadan dengan 31 Disember 1969 pada 00:00:00 UTC. Definisi POSIX membenarkan kiraan saat menjadi negatif, dan bahasa seperti JavaScript menghormati ini: MDN Web Docs mendokumentasikan bahawa objek Date menerima nilai milisaat negatif untuk menyatakan tarikh pra-1970.

Ini berguna untuk data sejarah, tarikh lahir, atau rekod arkib.

Walau bagaimanapun, berhati-hati bahawa sesetengah sistem lama, pangkalan data, dan alat 32-bit menganggap masa Unix sebagai tidak bertanda atau menolak input negatif, secara senyap mengehadkan nilai kepada epoch atau membuang ralat. Apabila mengendalikan tarikh sejarah, sahkan bahawa setiap lapisan tindanan anda, daripada jenis kolum pangkalan data kepada pustaka pelanggan, menyokong setem masa bertanda.

Kesilapan Biasa Semasa Menukar Setem Masa Unix

  • Kesilapan yang paling kerap ialah mengelirukan saat dengan milisaat, yang menghasilkan tarikh beberapa dekad jauhnya atau terperangkap pada tahun 1970. Sentiasa sahkan unit yang digunakan oleh sumber anda sebelum menukar, memandangkan JavaScript mengeluarkan milisaat manakala kebanyakan backend mengeluarkan saat.
  • Perangkap kedua ialah mensifatkan setem masa membawa zon masa; ia tidak berbuat demikian, jadi mengenakan anjakan tempatan dua kali menghasilkan masa jam dinding yang salah.
  • Yang lain termasuk mengabaikan had Tahun 2038 pada medan 32-bit, dan mengharapkan masa Unix mengambil kira saat lompat, yang dikecualikan secara jelas oleh POSIX.
  • Akhir sekali, elakkan menghuraikan rentetan tarikh berformat dengan tangan; gunakan pustaka standard dan pilih ISO 8601 (RFC 3339) untuk pertukaran, seperti yang dinasihatkan oleh MDN Web Docs, untuk mengelakkan format kabur seperti MM/DD berbanding DD/MM.

Frequently Asked Questions

sell

Tags