Penukar Masa Epoch
Tukarkan cap masa Unix kepada tarikh UTC atau tukar tarikh kepada saat epoch.
Cara menggunakan penukar masa epoch ini
- Pilih mod penukaran
Pilih Epoch ke tarikh atau Tarikh ke epoch dalam medan Mod penukaran.
- Untuk epoch ke tarikh
Masukkan cap masa Unix dalam saat ke dalam medan Cap masa Epoch (saat).
- Untuk tarikh ke epoch
Pilih tarikh dalam Tarikh kalendar, kemudian tetapkan Jam (UTC), Minit (UTC), dan Saat (UTC) mengikut keperluan.
- Baca keputusan
Kalkulator ini menunjukkan nilai UTC, milisaat Unix, dan hari dalam seminggu.
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.
Masa Unix = saat yang berlalu sejak 1970-01-01T00:00:00Z 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.
- ✓ 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.
- 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.
- IEEE Std 1003.1 (POSIX) — definisi Saat Sejak Epoch
- Asal usul epoch Unix — Dokumentasi The Unix Heritage Society dan Bell Labs
- 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.