Generator Timestamp Unix

Pilih tanggal dan waktu untuk menghasilkan timestamp Unix, timestamp dalam milidetik, dan string ISO 8601.

Timestamp Unix (detik)
Milidetik
ISO 8601
Dapat dibaca (UTC)

Cara kerja

  1. Konversi tanggal ke timestamp: masukkan tanggal dan waktu dengan pemilih, lalu klik Hasilkan untuk mendapatkan timestamp Unix dalam detik dan milidetik.
  2. Konversi timestamp ke tanggal: tempel timestamp Unix (detik atau milidetik) untuk mengubahnya kembali menjadi tanggal dan waktu yang dapat dibaca.
  3. Dapatkan timestamp saat ini: klik «Sekarang» untuk mendapatkan timestamp Unix saat ini secara instan.

Mengapa menggunakan generator timestamp Unix?

Timestamp Unix adalah bahasa universal waktu dalam komputasi, sebuah bilangan bulat tunggal yang mewakili detik yang berlalu sejak 1 Januari 1970 (UTC). Mereka menggerakkan basis data, API, log, token autentikasi, dan penjadwalan acara. Mengonversi secara manual antara timestamp dan tanggal yang dapat dibaca melibatkan perhitungan zona waktu yang mudah salah. Alat ini menangani konversi dengan benar di kedua arah, menghemat waktu dan menghindari bug zona waktu.

Fitur

Pertanyaan yang sering diajukan

Apa itu timestamp Unix?

Timestamp Unix adalah jumlah detik yang berlalu sejak Unix epoch, tengah malam UTC pada 1 Januari 1970. Ini adalah representasi suatu saat yang independen dari zona waktu, menjadikannya format pilihan untuk menyimpan dan membandingkan saat dalam basis data dan API.

Mengapa JavaScript menggunakan milidetik?

Date.now() dan new Date().getTime() di JavaScript mengembalikan milidetik sejak epoch (angka 13 digit), sedangkan alat Unix dan sebagian besar basis data menggunakan detik (10 digit). Periksa apakah timestamp Anda memiliki 10 atau 13 digit untuk mengetahui format mana yang Anda miliki.

Bagaimana mengonversi timestamp ke waktu lokal?

Tempel timestamp; alat secara otomatis mengonversinya ke zona lokal peramban Anda. Tampilan menunjukkan baik waktu lokal maupun UTC untuk bekerja antar zona dengan percaya diri.

Dari mana asal waktu Unix

Waktu Unix didefinisikan oleh Ken Thompson dan Dennis Ritchie dalam Unix First Edition (November 1971). Awalnya kernel menghitung 1/60 detik sejak 1971-01-01 dalam bidang 32-bit, yang meluap setelah 2 tahun 9 bulan. Pada Unix Sixth Edition (1975) penghitungan diubah menjadi detik sejak 1970-01-01 00:00:00 UTC, epoch yang masih digunakan setiap sistem mirip Unix hingga hari ini. Pilihan tersebut sewenang-wenang, para insinyur membutuhkan tanggal bulat yang dekat dengan era tempat mereka bekerja. POSIX.1 (1988) mengkodifikasi definisi tersebut sebagai standar resmi, dan POSIX.1-2017 (IEEE Std 1003.1-2017), versi saat ini, masih mendefinisikan time_t sebagai jumlah detik sejak epoch, dengan peringatan bahwa waktu POSIX berpura-pura detik kabisat tidak ada. ISO 8601 (1988, saat ini 2019) menstandarisasi format yang dapat dibaca manusia 2026-05-13T14:30:00Z, dan RFC 3339 (Juli 2002) menyempitkannya menjadi profil tanggal-waktu internet yang tidak ambigu. Date.now() dari JavaScript mengembalikan milidetik sejak epoch karena spec ditulis pada 1995 ketika presisi sub-detik sudah dalam permintaan; sebagian besar database dan utilitas Unix masih menggunakan detik utuh.

Masalah Tahun 2038 (dan mengapa itu penting sekarang)

time_t 32-bit bertanda dapat merepresentasikan paling banyak 2.147.483.647 detik, yang tiba pada 03:14:07 UTC Selasa, 19 Januari 2038. Satu detik kemudian, penghitung membungkus ke −2.147.483.648, yang sebagian besar perangkat lunak ditafsirkan sebagai 13 Desember 1901. Ini adalah kelas bug yang sama dengan Y2K tetapi disebabkan oleh lebar integer, bukan format tanggal. Perbaikannya adalah menggunakan time_t 64-bit (yang mendorong wraparound ke sekitar tahun 292 miliar). Sebagian besar sistem Linux 64-bit sudah menggunakan time_t 64-bit secara default; Linux 5.6 (Maret 2020) membuat time_t 64-bit tersedia juga pada arsitektur 32-bit. Risiko yang tersisa hidup di sistem tertanam, format file biner lama, dan protokol jaringan 32-bit. Network Time Protocol (NTP) sudah membungkus pada 2036 karena menggunakan hitungan 32-bit tak bertanda sejak 1900, NTPv4 menambahkan nomor era untuk memperpanjangnya. Jika Anda mengirimkan perangkat lunak yang menangani tanggal, audit stack Anda sebelum 2038, terutama kolom SQL yang diketik sebagai INT(11) atau kode C lama dengan bidang waktu long.

Format timestamp yang akan Anda temui

Ketika alat ini mendapatkan tempatnya

Kesalahan yang membuat tim kehilangan jam

Pertanyaan yang lebih sering diajukan

Mengapa 1970-01-01 dipilih sebagai epoch?

Kenyamanan. Versi awal Unix di tahun 70-an ingin epoch yang tidak akan meluap dalam masa kerja yang wajar. 1970-01-01 adalah tanggal bulat yang dekat dengan era pengembangan, dan penghitung detik 32-bit dari sana mencapai 2038 dengan nyaman. Pilihan tersebut sekarang terukir di POSIX.1-2017 §4.16 dan merupakan salah satu kesepakatan lintas platform paling stabil dalam perangkat lunak. Tidak ada makna yang melekat pada tanggal, tidak ada peristiwa sejarah, tidak ada jangkar astronomis, hanya jangkar sewenang-wenang yang disetujui semua orang.

Apa perbedaan antara UTC, GMT, dan waktu Zulu?

Untuk tujuan perangkat lunak, mereka merujuk ke waktu jam dinding yang sama. UTC (Waktu Universal Terkoordinasi) adalah standar modern, didefinisikan oleh jam atom dan BIPM. GMT (Greenwich Mean Time) adalah standar astronomi Inggris yang lebih tua yang merupakan referensi dunia de facto sebelum penjagaan waktu atom. Waktu Zulu adalah penanda NATO/militer untuk UTC, ditulis sebagai sufiks Z dalam ISO 8601 (2026-05-13T14:30:00Z). UTC dan GMT dapat berbeda hingga 0,9 detik karena UTC diarahkan untuk tetap dekat dengan UT1 (waktu matahari rata-rata) melalui detik kabisat, tetapi tidak ada aplikasi yang tidak menggunakan UT1 secara langsung yang akan menyadari.

Mengapa 1970 kadang ditampilkan ketika saya mengharapkan sesuatu yang lain?

Dua penyebab umum. Pertama, timestamp dalam milidetik tetapi diteruskan ke fungsi yang mengharapkan detik, atau sebaliknya, memberi tanggal yang meleset dengan faktor 1000. Kedua, nilainya 0 atau NaN, keduanya yang sebagian besar pustaka tanggal render sebagai 1970-01-01T00:00:00Z. Periksa lebar integer mentah: 10 digit adalah detik, 13 milidetik, 16 mikrodetik, 19 nanodetik.

Apakah alat ini akan menangani timestamp negatif untuk tanggal sebelum 1970?

Ya. new Date(-86400000) mengembalikan 1969-12-31T00:00:00Z. Date JavaScript dapat merepresentasikan momen apa pun dari −271821-04-20 hingga +275760-09-13, yang kira-kira ±100 juta hari dari epoch. Di luar rentang itu, API mengembalikan Invalid Date. Untuk tanggal historis, sadari juga transisi Julian-Gregorian (1582 di negara-negara Katolik, 1752 di Inggris, sampai 1923 di Yunani) di mana tanggal kalender melompat 10 hingga 13 hari; pustaka tanggal bervariasi dalam cara mereka menangani ini.

Apakah data timestamp saya dikirim ke mana pun?

Tidak. Semua konversi berjalan di JavaScript di dalam browser Anda. Halaman tidak pernah POST nilai apa pun yang Anda masukkan. Buka tab Network di DevTools dan konversikan timestamp, Anda akan melihat nol permintaan keluar selama konversi. Aman untuk token dengan klaim timestamp, baris log internal, atau apa pun yang tidak akan Anda tempel ke layanan terhost.

Alat terkait

Konverter Timestamp Unix Gratis Tanggal Kalkulator Kalkulator Durasi Gratis Gratis Countdown Timer