tooly

Konverter timestamp Unix

Ubah detik atau milidetik epoch menjadi tanggal yang terbaca, atau tanggal menjadi timestamp. Lihat ISO 8601, UTC, zona waktu lokal, dan deskripsi relatif seperti “3 hari lalu”, plus waktu Unix saat ini.

Semuanya berjalan di browser Anda — tidak ada yang dikirim

Cara menggunakan

  1. 1

    Tempel timestamp atau tanggal, atau klik Gunakan untuk mengambil waktu saat ini.

  2. 2

    Semua format dihitung seketika.

  3. 3

    Salin yang Anda perlukan.

Waktu Unix dalam satu paragraf

Waktu Unix menghitung detik yang berlalu sejak 00:00:00 UTC pada 1 Januari 1970, momen yang dikenal sebagai epoch. Ia sama sekali mengabaikan zona waktu dan daylight saving: pada saat yang sama, waktu Unix adalah angka yang sama di mana pun di Bumi. Itu menjadikannya format alami untuk menyimpan dan membandingkan momen di database, file log, klaim JWT exp dan iat, waktu modifikasi file, respons API, dan penjadwal mirip cron. Masalahnya, 1700000000 tidak berarti apa-apa bagi manusia, dan untuk itulah konverter ini ada. Sebagai catatan, angka itu adalah 14 November 2023, 22:13:20 UTC.

Detik, milidetik, dan angka yang lebih panjang

Sistem yang berbeda menghitung dengan satuan yang berbeda:

  • Detik, 10 digit untuk tanggal saat ini: alat Unix dan Linux, PHP time(), Python time.time() (dengan bagian pecahan), sebagian besar database SQL, JWT.
  • Milidetik, 13 digit: JavaScript Date.now(), Java System.currentTimeMillis(), banyak API JSON dan event analitik.
  • Mikrodetik, 16 digit, dan nanodetik, 19 digit: sebagian database, Go, alat tracing beresolusi tinggi.

Alat ini menentukan satuan berdasarkan besarnya angka. Bilangan bulat apa pun dengan nilai absolut di bawah 100.000.000.000 dibaca sebagai detik, hingga 100.000.000.000.000 (14 digit) sebagai milidetik, di bawah 10^17 sebagai mikrodetik, dan yang lebih besar sebagai nanodetik. Ambang batas ini berlaku untuk setiap kasus realistis: sebagai detik, ambang pertama berarti tahun 5138, sebagai milidetik berarti awal Maret 1973.

Nilai mikrodetik dan nanodetik dipotong ke presisi milidetik, karena hanya itu yang ditampilkan hasilnya. Input pecahan seperti 1700000000.5 tidak diterima, jadi buang dulu bagian desimalnya.

Angka negatif bisa dipakai dan menghasilkan tanggal sebelum 1970: -86400 adalah 31 Desember 1969.

Membaca keenam hasil

  • Unix, detik dan Unix, milidetik: momen yang sama dalam kedua satuan. Milidetik dipertahankan saat Anda menempelkan string tanggal dengan bagian waktu seperti .250; nilai detiknya dibulatkan ke bawah.
  • ISO 8601: misalnya 2023-11-14T22:13:20.000Z. Selalu dalam UTC, ditandai dengan Z, dengan presisi milidetik. Ini format paling aman untuk API dan JSON, karena terurut dengan benar sebagai teks dan bisa diurai oleh semua bahasa pemrograman.
  • UTC: gaya tanggal HTTP, Tue, 14 Nov 2023 22:13:20 GMT, yang dipakai di header Expires, Last-Modified, dan cookie.
  • Zona waktu Anda: hari/bulan/tahun dengan format 24 jam, diikuti singkatan zona waktu (atau offset GMT jika tidak ada singkatan) dan nama zona yang dilaporkan browser, seperti Europe/Berlin. Daylight saving diterapkan sesuai tanggal tersebut, bukan offset hari ini.
  • Relatif: kata-kata seperti "kemarin", "dalam 3 hari", atau "2 tahun lalu". Sengaja dibuat perkiraan: bulan dirata-ratakan sekitar 30,4 hari, dan nilainya diperbarui selama halaman terbuka.

Mengubah tanggal menjadi timestamp

Anda bisa menempelkan tanggal alih-alih angka. String ISO 8601 adalah input paling andal, dan aturan zona waktunya perlu diketahui karena menjadi penyebab sebagian besar kesalahan selisih jam:

  • 2024-05-01T12:00:00Z dan 2024-05-01T12:00:00+02:00 membawa offset sendiri dan tidak ambigu.
  • 2024-05-01 tanpa waktu dianggap tengah malam UTC.
  • 2024-05-01T12:00 dan 2024-05-01 12:00, tanggal dengan waktu tetapi tanpa offset, dianggap sebagai waktu lokal Anda.

Jadi jika Anda berada di Berlin pada musim panas, 2024-05-01 dan 2024-05-01 00:00 berselisih dua jam. Saat mengonversi untuk server atau API, tambahkan Z atau offset eksplisit agar tidak ada tebak-tebakan.

Format lain, seperti May 1, 2024 12:00, bergantung pada parser tanggal browser dan bisa berperilaku berbeda antara Chrome, Firefox, dan Safari. Format dengan hari di depan, seperti 01/05/2024, dibaca dengan bulan di depan ala Amerika atau ditolak, jadi hindari format ini.

Jebakan yang perlu diketahui

  • Detik kabisat. Waktu Unix menganggap setiap hari tepat 86.400 detik. Ke-27 detik kabisat yang ditambahkan sejak 1972 tidak dihitung, yang hanya berpengaruh untuk pengukuran waktu ilmiah yang presisi.
  • Masalah tahun 2038. Sistem yang menyimpan waktu Unix sebagai integer 32-bit bertanda akan overflow di 2147483647, yaitu 19 Januari 2038, 03:14:07 UTC. Tempel angka itu untuk melihatnya. Sistem 64-bit modern tidak terpengaruh, tetapi perangkat embedded lama dan format file lama bisa terdampak.
  • Selisih jam. Jika JWT ditolak sebagai "belum berlaku" atau "kedaluwarsa", bandingkan iat dan exp-nya dengan Waktu Unix saat ini yang berjalan di bagian atas halaman. Selisih beberapa menit menandakan jam yang salah, bukan token yang buruk.

Untuk membaca klaim token, dekode bagian tengahnya dengan Encoder dan decoder Base64 lalu rapikan JSON-nya di Format dan validasi JSON. Konversi berjalan di browser Anda memakai jam dan pengaturan zona waktunya sendiri.

FAQ

Detik atau milidetik?

Satuannya terdeteksi otomatis dari panjang angka: nilai di bawah 100 000 000 000 dianggap detik, hingga 14 digit sebagai milidetik, 15–17 digit sebagai mikrodetik, dan yang lebih panjang sebagai nanodetik.

Format tanggal apa yang diterima?

ISO 8601 (2024-05-01T12:00:00Z), 2024-05-01 12:00, dan apa pun yang dipahami parser Date browser Anda.

Zona waktu mana yang dipakai?

UTC dan zona waktu browser Anda sama-sama ditampilkan.

Apakah ada yang dikirim ke server?

Tidak. Konversi berjalan di browser Anda.

Alat terkait