Bekerja dengan timestamp Unix: waktu epoch dibuat sederhana
Diperbarui 2026-07-06
Buka sebuah respons API atau baris basis data dan Anda sering menemukan tanggal tersimpan sebagai angka polos seperti 1751760000. Itu timestamp Unix, dan begitulah sejumlah besar perangkat lunak melacak waktu. Panduan ini menjelaskan apa arti angka itu, mengapa komputer menghitung waktu begini, dan jebakannya — detik vs. milidetik, zona waktu, dan masalah Tahun 2038.
Apa itu timestamp Unix
Timestamp Unix adalah jumlah detik yang berlalu sejak sebuah momen tetap yang disebut epoch: 00:00:00 UTC pada 1 Januari 1970. Jadi 0 adalah epoch itu sendiri, 60 satu menit setelahnya, dan 1751760000 sebuah momen di tahun 2025. Ia sekadar hitungan detik yang berjalan.
Mengapa menghitung detik sejak 1970?
Merepresentasikan waktu sebagai satu bilangan bulat sangat nyaman bagi komputer. Membandingkan dua momen menjadi membandingkan dua angka; mencari jeda di antaranya adalah pengurangan; mengurutkan peristiwa hanyalah mengurutkan bilangan bulat — semua tanpa kalender, bulan, tahun kabisat, atau zona waktu untuk dipikirkan. Titik awal 1970 adalah pilihan historis dari masa awal sistem operasi Unix yang begitu saja bertahan.
Jebakan detik vs. milidetik
Ini kesalahan yang hampir semua orang alami setidaknya sekali. Timestamp Unix secara klasik dalam detik, tetapi banyak sistem — JavaScript khususnya — memakai milidetik (seperseribu detik). Keduanya berbeda dengan faktor 1000:
detik: 1751760000 milidetik: 1751760000000
Masukkan nilai detik ke sesuatu yang mengharapkan milidetik dan tanggal Anda mendarat di 1970; lakukan sebaliknya dan ia mendarat puluhan ribu tahun di masa depan. Pemeriksaan cepat: timestamp saat ini dalam detik berjumlah 10 digit; dalam milidetik 13. Ketika sebuah tanggal hasil konversi tampak konyol, hampir selalu inilah alasannya.
Zona waktu dan UTC
Kekuatan utama timestamp Unix: angka itu sendiri selalu dalam UTC. Ia mewakili satu instan pasti, sama bagi semua orang di Bumi. Timestamp 1751760000 adalah satu momen; apakah ditampilkan sebagai pukul 4 sore di London atau pukul 11 pagi di New York murni pilihan tampilan yang diterapkan di akhir. Menyimpan waktu sebagai timestamp UTC dan mengonversinya ke waktu lokal hanya saat menampilkan menghindari seluruh kategori bug zona waktu. Untuk melihat instan yang sama di berbagai wilayah, konverter zona waktu adalah alat yang tepat.
Mengonversi ke dan dari tanggal manusia
Anda akan terus perlu bolak-balik dua arah — mengubah timestamp menjadi tanggal terbaca untuk men-debug log, atau tanggal menjadi timestamp untuk mengueri API. Konverter timestamp Unix kami melakukan keduanya seketika dan menampilkan hasilnya dalam waktu lokal Anda dan UTC. Untuk mengukur jeda antara dua tanggal, kalkulator selisih tanggal menanganinya langsung.
Masalah Tahun 2038
Sistem lama menyimpan timestamp sebagai bilangan bulat 32-bit bertanda, yang hanya bisa menghitung sampai 2.147.483.647. Batas itu tercapai pada 03:14:07 UTC 19 Januari 2038 — satu detik kemudian penghitung meluap dan berputar ke angka negatif, melempar tanggal kembali ke 1901. Ia kelas bug yang sama dengan Y2K. Perbaikannya sudah tersebar luas: pakai bilangan bulat 64-bit, yang mendorong batas sekitar 292 miliar tahun ke depan. Sebagian besar perangkat lunak modern baik-baik saja, tetapi patut diketahui saat menyentuh sistem lama.
Rujukan cepat
- Timestamp Unix = detik sejak 1 Januari 1970 UTC.
- 10 digit = detik; 13 digit = milidetik.
- Nilai selalu UTC — terapkan zona waktu hanya saat menampilkan.
- Penyimpanan 32-bit rusak pada 2038; 64-bit tidak.
Lainnya tentang Web & pengembang
Lihat semua panduan Web & pengembang →Alat yang disebut dalam panduan ini