Lewati ke konten utama
FreeOnlineTools Go
Bahasa Indonesia
Bagaimana caranya

Cara Mengonversi Stempel Waktu Unix menjadi Tanggal yang Dapat Dibaca Manusia

Oleh FreeOnlineTools Team · Diperbarui pada tanggal 2026-08-28

Jawaban Cepat

Stempel waktu Unix = detik (atau milidetik) sejak 01-01-1970 00:00:00 UTC. Konversikan ke tanggal dengan Tanggal baru (cap waktu * 1000) dalam JavaScript (detik) atau Tanggal baru (cap waktu) (milidetik). Konversikan tanggal kembali dengan Math.floor(date.getTime() / 1000). Gunakan Timestamp Converter kami untuk melakukan keduanya secara instan di browser Anda.

Perkenalan

Stempel waktu Unix (juga disebut waktu zaman atau waktu POSIX) adalah jumlah detik yang telah berlalu sejak 01-01-1970 00:00:00 UTC (zaman Unix), tidak termasuk detik kabisat. Ini adalah lingua franca waktu dalam komputasi karena merupakan bilangan bulat tunggal yang tidak bergantung pada zona waktu dan dapat diurutkan secara sepele. Kebanyakan sistem menggunakan hitungan detik; JavaScript dan banyak database menggunakan milidetik.

Langkah demi Langkah

  1. Pahami detik vs milidetik

    Sebagian besar sistem backend dan APIs menggunakan detik (cap waktu 10 digit hingga 2286). Tanggal JavaScript dan milidetik penggunaan Instan Java (13 digit). Selalu konfirmasikan unit mana yang diharapkan oleh API —mencampurnya akan menggeser tanggal sebanyak 1000 kali lipat (turun ~31 tahun).

  2. Ubah stempel waktu menjadi tanggal yang dapat dibaca

    Rekatkan stempel waktu ke dalam Konverter Stempel Waktu. Ini mendeteksi durasi detik vs milidetik (10 vs 13 digit) dan menampilkan tanggal dalam UTC dan zona waktu lokal Anda. Dalam kode: Tanggal baru(1700000000 * 1000).toISOString() mengembalikan '14-11-2023T22:13:20.000Z'.

  3. Ubah tanggal menjadi stempel waktu

    Masukkan tanggal dan waktu ke dalam konverter; itu mengembalikan stempel waktu Unix. Dalam kode: Math.floor(new Date('2026-08-28T12:00:00Z').getTime() / 1000) mengembalikan epoch detik. Selalu tentukan zona waktu (Z atau offset) untuk menghindari ambiguitas waktu setempat.

  4. Tangani zona waktu dengan benar

    Stempel waktu Unix selalu UTC — tidak memiliki zona waktu. Konversikan ke tampilan lokal hanya pada lapisan presentasi. Jangan pernah menyimpan waktu lokal sebagai stempel waktu; simpan UTC dan konversikan pada tampilan. Gunakan nama zona waktu IANA (Amerika/New_York) dengan Intl.DateTimeFormat untuk penanganan DST yang benar.

  5. Hitung perbedaan antar tanggal

    Kurangi dua stempel waktu untuk mendapatkan selisihnya dalam detik (atau milidetik). Bagilah dengan 60 untuk menit, 3600 untuk jam, 86400 untuk hari. Gunakan alat Perbedaan Tanggal kami untuk rentang yang ramah manusia, atau Kalkulator Usia untuk usia berdasarkan tanggal lahir.

Contoh

Zaman Unix

Masukan: 0 (seconds)

Keluaran: 01-01-1970 00:00:00 UTC

Satu miliar detik setelah zaman itu

Masukan: 1000000000 (seconds)

Keluaran: 09-09-2001 01:46:40 UTC

Awal tahun 2026 di UTC

Masukan: 2026-01-01T00:00:00Z

Keluaran: 1767225600 (detik) / 1767225600000 (milidetik)

Perbedaan antara dua tanggal

Masukan: 1767225600 - 1700000000

Keluaran: 67225600 seconds = 778.08 days ≥2 years 31 days

Masalah Umum

  • Kebingungan detik vs milidetik: stempel waktu 10 digit yang dibaca sebagai milidetik menunjukkan tanggal pada tahun 1970; stempel waktu 13 digit yang dibaca saat detik melebihi int 32-bit. Deteksi unit berdasarkan jumlah digit atau dokumentasikan secara eksplisit di API.
  • Menyimpan waktu lokal sebagai stempel waktu: stempel waktu adalah UTC. Jika Anda menghitung Date.now() di browser yang disetel ke UTC-5 dan memperlakukan hasilnya sebagai lokal, transisi DST akan menggeser data Anda satu jam dua kali setahun.
  • Kelebihan 32-bit pada 19-01-2038 03:14:07 UTC (Y2038): sistem yang menggunakan stempel waktu 32-bit detik yang ditandatangani tidak dapat mewakili tanggal setelah titik ini. Gunakan stempel waktu 64-bit atau milidetik di sistem baru.
  • Detik kabisat diabaikan: Stempel waktu Unix melewatkan detik kabisat, sehingga perbedaan antara dua stempel waktu tidak sama dengan jumlah detik SI yang berlalu. Sebagian besar aplikasi dapat mengabaikan hal ini; astronomi dan keuangan dengan presisi tinggi tidak bisa.

Kiat

  • Selalu simpan dan kirimkan stempel waktu dalam UTC; konversikan ke waktu lokal hanya pada lapisan tampilan menggunakan Intl.DateTimeFormat dengan zona waktu IANA.
  • Gunakan string ISO 8601 (misalnya 28-08-2026T12:00:00Z) untuk APIs yang dapat dibaca manusia dan stempel waktu untuk penyimpanan —String ISO membawa zona waktunya secara eksplisit dan tidak ambigu.
  • Saat membandingkan stempel waktu, gunakan satuan yang sama (detik atau milidetik) di kedua sisi — ketidakcocokan satuan adalah salah satu bug tanggal yang paling umum.
  • Gunakan Pengonversi Stempel Waktu kami untuk memeriksa kewarasan respons API selama proses debug — ini menunjukkan waktu UTC dan waktu setempat sehingga Anda dapat segera menemukan bug zona waktu.

Alat Terkait

Panduan Terkait

Referensi