Penukar Masa Epoch

Tukarkan cap masa Unix kepada tarikh UTC atau tukar tarikh kepada saat epoch.

Pilih sama ada untuk menukar cap masa kepada tarikh atau tarikh kepada cap masa.
Masukkan cap masa Unix dalam saat.

Nilai yang ditukar

2024-03-09T16:00:00.000Z

Nilai UTC2024-03-09T16:00:00.000Z
Milisaat Unix1,710,000,000,000
Hari dalam mingguSabtu

Cara menggunakan penukar masa epoch ini

  1. Pilih mod penukaran

    Pilih Epoch ke tarikh atau Tarikh ke epoch dalam medan Mod penukaran.

  2. Untuk epoch ke tarikh

    Masukkan cap masa Unix dalam saat ke dalam medan Cap masa Epoch (saat).

  3. Untuk tarikh ke epoch

    Pilih tarikh dalam Tarikh kalendar, kemudian tetapkan Jam (UTC), Minit (UTC), dan Saat (UTC) mengikut keperluan.

  4. Baca keputusan

    Kalkulator ini menunjukkan nilai UTC, milisaat Unix, dan hari dalam seminggu.

Metodologi

Cara penukar masa epoch ini berfungsi

Penukar masa epoch ini menterjemah antara cap masa Unix dan tarikh UTC yang boleh dibaca manusia. Masa Unix — juga dipanggil masa POSIX atau masa epoch — mengira bilangan saat yang telah berlalu sejak epoch Unix, yang ditakrifkan sebagai tengah malam UTC pada 1 Januari 1970 (1970-01-01T00:00:00Z). Perwakilan integer tunggal ini ialah piawaian de-facto untuk menyimpan dan menghantar cap masa dalam pangkalan data, API, fail log, token JWT, dan hampir setiap bahasa pengaturcaraan moden. Penukar ini mengendalikan kedua-dua arah: memasukkan cap masa berangka mengembalikan tarikh UTC yang sepadan, hari dalam minggu, dan setara milisaat, manakala memasukkan tarikh dan masa kalendar mengembalikan nilai epoch dalam saat dan milisaat.

Formula
Masa Unix = saat yang berlalu sejak 1970-01-01T00:00:00Z
epok Titik rujukan: tengah malam UTC pada 1 Januari 1970 (cap masa Unix 0)
Masa Unix (s) Jumlah saat penuh dari epok ke tarikh dan masa yang ditentukan
Masa Unix (ms) Masa Unix dalam saat didarab dengan 1,000 — digunakan oleh JavaScript Date, Java System.currentTimeMillis(), dan banyak API
Tarikh UTC Tarikh kalendar Gregorian dan masa 24 jam yang sepadan dengan cap masa yang diberikan
hari dalam minggu Nama hari yang diperoleh daripada tarikh UTC yang ditukar
Contoh

Untuk menukar cap masa Unix 1,700,000,000 kepada tarikh: bermula dari 1970-01-01 00:00:00 UTC, tambah 1,700,000,000 saat. Ini bersamaan dengan 19,675 hari, 17 jam, 46 minit, dan 40 saat. Tarikh UTC yang terhasil ialah 2023-11-14 pada 22:13:20 UTC, yang jatuh pada hari Selasa. Persamaan milisaat ialah 1,700,000,000,000. Sebaliknya, memasukkan 14 November 2023 pada 22:13:20 UTC mengembalikan nilai epoch tepat 1,700,000,000.

Cap masa 0 ditukar kepada 1970-01-01 00:00:00 UTC (Khamis). Persamaan milisaatnya ialah 0.

Cap masa 1,704,000,000 ditukar kepada 2023-12-31 12:00:00 UTC (Ahad). Memasukkan tarikh dan masa tersebut dalam mod Tarikh ke epok mengembalikan 1,704,000,000.

Andaian
  • Semua pengiraan adalah dalam UTC. Penukaran masa tempatan memerlukan penggunaan ofset zon masa yang sesuai selepas penukaran.
  • Saat lompat tidak dikira. Seperti POSIX, penukar ini menganggap setiap hari tepat 86,400 saat, yang sepadan dengan tingkah laku kebanyakan bahasa pengaturcaraan dan sistem operasi.
  • Cap masa negatif mewakili tarikh sebelum epok (1 Januari 1970). Contohnya, −86400 sepadan dengan 31 Disember 1969.
  • Cap masa milisaat hendaklah dibahagikan dengan 1,000 sebelum dimasukkan; penukar menerima saat sebagai input dan memaparkan setara milisaat dalam keputusan.
Nota
  • Date.now() JavaScript dan System.currentTimeMillis() Java mengembalikan milisaat, bukan saat — bahagikan dengan 1,000 sebelum memasukkan nilai di sini, atau gunakan output milisaat untuk perbandingan.
  • Masalah Tahun 2038 menjejaskan cap masa integer bertanda 32-bit, yang akan melimpah pada 19 Januari 2038 jam 03:14:07 UTC. Kebanyakan sistem moden telah berpindah ke cap masa 64-bit.
  • Semasa menyahpepijat respons API atau fail log, perhatikan cap masa yang kelihatan lari tepat 3,600 atau 7,200 saat — ini biasanya menunjukkan ofset zon masa telah digunakan (atau diabaikan) di mana-mana bahagian dalam saluran paip.
  • Masa epoch sentiasa meningkat secara monoton (mengabaikan pelarasan saat lompat), menjadikannya ideal untuk menyusun acara, mengira tempoh, dan menjana pengecam berasaskan masa yang unik.
Sumber
  1. IEEE Std 1003.1 (POSIX) — definisi Saat Sejak Epoch
  2. Asal usul epoch Unix — Dokumentasi The Unix Heritage Society dan Bell Labs
  3. RFC 3339 — Tarikh dan Masa di Internet: Cap Masa

Apakah itu cap masa Unix?

Cap masa Unix ialah bilangan saat yang telah berlalu sejak tengah malam UTC pada 1 Januari 1970 — epok Unix. Integer tunggal ini merupakan standard de-facto untuk mewakili masa dalam pangkalan data, API, fail log, dan kebanyakan bahasa pengaturcaraan. Oleh kerana ia tidak bergantung pada zon masa dan meningkat secara monoton, ia memudahkan penyisihan, pengiraan tempoh, dan perbandingan berasaskan masa. Date.now() JavaScript dan banyak API mengembalikan milisaat (1,000 × saat), jadi bahagikan dengan 1,000 sebelum memasukkan nilai milisaat di sini. Cap masa negatif mewakili tarikh sebelum 1970; contohnya, −86400 adalah tepat satu hari sebelum epok tersebut.

Kes penggunaan pembangun untuk masa epok

Pembangun menggunakan cap masa Unix apabila menyimpan masa acara dalam pangkalan data, mensiri tarikh dalam API JSON, menjana kunci cache berasaskan masa, dan menyahpepijat entri log. Lajur pangkalan data sering menyimpan cap masa sebagai integer untuk pengindeksan dan pertanyaan julat yang cekap. Respons API kerap mengembalikan saat atau milisaat epok untuk mengelakkan kekaburan zon masa. Semasa menyahpepijat, menukar cap masa mentah daripada log atau tuntutan JWT kepada tarikh yang boleh dibaca manusia mendedahkan dengan cepat sama ada nilai tersebut betul atau tersasar disebabkan faktor zon masa. Masa epok juga digunakan untuk pengehadan kadar, tamat tempoh sesi, dan menjana pengecam unik yang boleh disisih dalam sistem teragih.

Soalan Lazim penukar masa Epoch

Apakah itu epoch Unix?

Epoch Unix ialah titik rujukan dari mana masa Unix diukur: tengah malam UTC pada 1 Januari 1970 (1970-01-01T00:00:00Z). Cap masa 0 sepadan dengan saat tepat tersebut.

Mengapakah cap masa JavaScript saya mempunyai lebih banyak digit?

Date.now() JavaScript mengembalikan milisaat sejak epok, bukan saat. Bahagikan dengan 1,000 untuk menukar kepada format berasaskan saat yang digunakan oleh alat ini, atau bandingkan terus dengan output milisaat.

Bolehkah saya memasukkan cap masa negatif?

Ya. Nilai negatif mewakili tarikh sebelum epok. Contohnya, −86400 sepadan dengan 1969-12-31T00:00:00Z, tepat satu hari sebelum epok.

Adakah ini mengendalikan saat lompat?

Tidak, dan ini menepati piawaian POSIX. Masa POSIX mengandaikan setiap hari adalah tepat 86,400 saat. 27 saat lompat yang dimasukkan sejak 1972 tidak diwakili secara individu, bermakna UTC dan masa Unix boleh berbeza sehingga satu saat pada sempadan saat lompat.

Apakah masalah Tahun 2038?

Sistem yang menyimpan masa Unix sebagai integer bertanda 32-bit akan melimpah pada 19 Januari 2038 jam 03:14:07 UTC, bertukar menjadi nombor negatif yang besar dan menghasilkan tarikh pada tahun 1901. Kebanyakan platform moden kini menggunakan cap masa 64-bit, yang tidak akan melimpah selama lebih 290 bilion tahun.

Ditulis oleh Jan Křenek Pengasas dan pembangun utama
Disemak oleh Semakan Metodologi DigitSum Pengesahan formula dan QA
Terakhir dikemas kini 10 Mac 2026

Gunakan ini sebagai anggaran dan sahkan keputusan penting dengan profesional yang berkelayakan.

Input kekal dalam pelayar melainkan ciri masa hadapan memberitahu anda sebaliknya secara jelas.