🕐
← Kembali ke Panduan

Cara Mengonversi Unix Timestamp ke Tanggal yang Dapat Dibaca Manusia

· Tag: unix-timestamp, conversion, date-conversion, timezone, epoch-converter

Mengapa Mengonversi Unix Timestamp?

Unix timestamp sangat ideal untuk mesin — sebuah bilangan bulat tunggal yang ringkas, tidak ambigu, dan mudah diurutkan. Tetapi bagi manusia, 1785292800 tidak berarti apa-apa sampai diterjemahkan ke dalam tanggal dan waktu kalender. Baik Anda sedang men-debug file log, menganalisis catatan basis data, atau membaca respons API, mengetahui cara mengonversi timestamp dengan cepat adalah keterampilan yang penting.

Metode 1: Menggunakan Konverter Unix Timestamp Online Kami

Metode tercepat dan paling andal adalah menggunakan alat konversi khusus.

Unix Timestamp Converter kami menerima timestamp dalam detik maupun milidetik, secara otomatis mendeteksi resolusinya, dan menampilkan hasil di beberapa zona waktu secara bersamaan. Anda juga dapat melakukan sebaliknya — masukkan tanggal yang dapat dibaca manusia dan dapatkan Unix timestamp yang sesuai.

Pendekatan ini ideal ketika Anda membutuhkan konversi satu kali yang cepat tanpa menyentuh baris perintah.

Metode 2: Menggunakan Baris Perintah Linux (Perintah date)

Jika Anda memiliki akses ke terminal Linux atau macOS, perintah date adalah sahabat terbaik Anda.

Mengonversi Timestamp ke Tanggal yang Dapat Dibaca Manusia

# Di GNU Linux (sebagian besar distribusi)
date -d @1785292800

# Tentukan format kustom
date -d @1785292800 +"%Y-%m-%d %H:%M:%S"
# Output: 2026-07-19 00:00:00

# Dengan zona waktu
TZ="America/New_York" date -d @1785292800
# Output: Sun Jul 19 00:00:00 EDT 2026

Di macOS (BSD date), sintaksnya sedikit berbeda:

# Di macOS
date -r 1785292800

# Dengan format kustom
date -r 1785292800 +"%Y-%m-%d %H:%M:%S"

Mengonversi Tanggal ke Unix Timestamp

# Di GNU Linux
date -d "2026-07-19 00:00:00" +%s

# Di macOS
date -j -f "%Y-%m-%d %H:%M:%S" "2026-07-19 00:00:00" +%s

Metode 3: Perhitungan Manual

Meskipun Anda jarang perlu melakukan ini secara manual, memahami matematikanya akan mengungkap cara kerja sistem.

Rumusnya

detik = (tahun - 1970) × 31536000 + (offset bulan) × 86400 + hari × 86400 + jam × 3600 + menit × 60 + detik

Bagian yang sulit adalah memperhitungkan tahun kabisat. Suatu tahun adalah tahun kabisat jika habis dibagi 4, kecuali tahun abad yang tidak habis dibagi 400.

Perkiraan Mental Cepat

  • 86.400 detik = 1 hari
  • 604.800 detik = 1 minggu
  • Sekitar 31.536.000 detik = 1 tahun biasa
  • Sekitar 31.622.400 detik = 1 tahun kabisat

Untuk perkiraan kasar, Anda dapat menghitung timestamp / 86400 untuk mendapatkan jumlah hari sejak epoch, lalu tambahkan hari-hari tersebut ke 1 Januari 1970.

Metode 4: Menggunakan Bahasa Pemrograman

Setiap bahasa pemrograman utama memiliki fungsi bawaan untuk konversi timestamp. Berikut adalah yang paling umum:

JavaScript (Browser atau Node.js)

// Timestamp ke tanggal (JavaScript menggunakan milidetik)
const timestamp = 1785292800;
const date = new Date(timestamp * 1000);
console.log(date.toISOString());
// Output: 2026-07-19T00:00:00.000Z

// Tanggal ke timestamp
const ts = Math.floor(new Date("2026-07-19").getTime() / 1000);
console.log(ts);
// Output: 1785292800

Python

from datetime import datetime

# Timestamp ke tanggal
dt = datetime.utcfromtimestamp(1785292800)
print(dt.isoformat())
# Output: 2026-07-19T00:00:00

# Sadar zona waktu (Python 3.9+)
from zoneinfo import ZoneInfo
dt_tz = datetime.fromtimestamp(1785292800, tz=ZoneInfo("America/New_York"))
print(dt_tz.isoformat())
# Output: 2026-07-19T00:00:00-04:00

# Tanggal ke timestamp
import time
ts = time.mktime(datetime(2026, 7, 19).timetuple())
print(ts)

PHP

<?php
// Timestamp ke tanggal
echo date("Y-m-d H:i:s", 1785292800);
// Output: 2026-07-19 00:00:00

// Tanggal ke timestamp
echo strtotime("2026-07-19 00:00:00");
// Output: 1785292800

Metode 5: Menggunakan Perangkat Lunak Spreadsheet

Google Sheets

Gunakan rumus =DATE(1970,1,1) + A1 / 86400 di mana A1 berisi timestamp. Format sel hasil sebagai tanggal.

Microsoft Excel

=DATE(1970,1,1) + A1 / 86400

Di Windows Excel, Anda mungkin perlu:

=(A1 / 86400) + DATE(1970,1,1)

Kasus Khusus yang Perlu Diperhatikan

Detik vs Milidetik

Ini adalah kesalahan yang paling umum. Jika Anda memberikan nilai milidetik (misalnya, 1785292800000) ke fungsi yang mengharapkan detik, Anda akan mendapatkan tanggal sekitar 56.000 tahun di masa depan.

Cara mendeteksi:

  • Jika angkanya 10 digit, kemungkinan besar itu adalah detik
  • Jika angkanya 13 digit, kemungkinan besar itu adalah milidetik
  • Beberapa sistem juga menggunakan mikrodetik (16 digit) atau nanodetik (19 digit)

Timestamp Negatif (Tanggal Sebelum 1970)

Unix timestamp dapat mewakili tanggal sebelum epoch menggunakan bilangan negatif:

date -d @-126230400
# Output: Tue Dec 31 00:00:00 -1969

Tidak semua alat konversi menangani timestamp negatif dengan benar. Konverter online kami melakukannya.

Detik Kabisat

Waktu Unix mengabaikan detik kabisat secara desain. Unix timestamp tidak akan pernah menampilkan :59:60 bahkan selama penyisipan detik kabisat. Ini berarti timestamp menyimpang dari waktu atomik sebesar jumlah yang kecil (saat ini 27 detik) tetapi terus bertambah.

Ringkasan

| Metode | Paling Cocok Untuk | |--------|----------| | Konverter online (/linux-timestamp) | Konversi satu kali yang cepat | | Perintah date | Pengguna terminal dan skrip | | Perhitungan manual | Memahami cara kerjanya | | Bahasa pemrograman | Otomatisasi dan aplikasi | | Spreadsheet | Analisis data |

Gunakan Unix Timestamp Converter kami untuk melakukan konversi instan dan akurat dengan deteksi zona waktu otomatis.