Apa Itu Waktu Epoch (Unix Time)?
Waktu epoch, juga disebut Unix time atau Unix timestamp, adalah jumlah detik yang telah berlalu sejak 1 Januari 1970, 00.00.00 UTC, momen yang dikenal sebagai Unix epoch. Misalnya, 1700000000 adalah 14 November 2023 pukul 22.13.20 UTC.
Komputer menyimpan waktu dengan cara ini karena satu angka mudah dibandingkan, diurutkan, dan dikirim antarsistem, dan angka itu berarti momen yang sama di seluruh dunia. Zona waktu baru berperan saat Anda mengubahnya menjadi tanggal agar bisa dibaca orang. Unix time mengabaikan leap second (detik kabisat): setiap hari dihitung tepat 86.400 detik.

Detik, Milidetik, Mikrodetik, atau Nanodetik?
Timestamp hadir dalam berbagai tingkat presisi. Konverter mendeteksi satuannya dari jumlah digit, dan Anda bisa menggantinya lewat menu satuan:
Unix timestamp klasik, dipakai oleh Linux, PHP, time.time() di Python (sebagai float), klaim exp JWT, dan sebagian besar API. Contoh: 1700000000.
Dipakai oleh JavaScript (Date.now()), Java, serta banyak database dan log. Contoh: 1700000000000.
Dipakai oleh UnixMicro() di Go serta banyak log dan trace beresolusi tinggi. Contoh: 1700000000000000.
Dipakai oleh UnixNano() di Go, InfluxDB, dan sistem monitoring. Contoh: 1700000000000000000.
Advertisement
Cara Konversi Unix Timestamp ke Tanggal
Masukkan di tab Timestamp ke Tanggal. Koma, spasi, dan bagian desimal (seperti 1700000000.5) tidak masalah, dan nilai negatif menghasilkan tanggal sebelum 1970.
Badge menunjukkan apakah angka itu dibaca sebagai detik, milidetik, mikrodetik, atau nanodetik. Pilih satuannya sendiri jika tebakannya salah.
Anda mendapatkan tanggal dalam UTC dan zona waktu Anda sendiri, ISO 8601, RFC 2822, berapa lama yang lalu, serta momen yang sama dalam keempat satuan.
Pilih zona waktu mana pun dari daftar untuk melihat momen yang sama di sana, misalnya untuk memeriksa kapan sebuah entri log terjadi bagi rekan kerja di luar negeri.
Cara Konversi Tanggal ke Unix Timestamp
Buka tab Tanggal ke Timestamp, pilih tanggal dan waktu, lalu pilih zona waktunya. Anda mendapatkan waktu epoch dalam detik dan milidetik, ditambah bentuk ISO 8601 dalam UTC.
Panel yang sama menampilkan detik pertama dan terakhir dari hari, bulan, dan tahun tersebut di zona waktu yang dipilih. Ini berguna untuk query database seperti "semua pesanan yang dibuat pada bulan Oktober menurut waktu New York", yang membutuhkan timestamp awal dan akhir periode tersebut.
Advertisement
Zona Waktu dan Daylight Saving Time
Unix timestamp tidak memiliki zona waktu: hitungannya selalu dimulai dari tengah malam UTC pada 1 Januari 1970. Timestamp yang sama hanya ditampilkan sebagai jam yang berbeda di tempat yang berbeda, seperti pukul 22.13 di London dan pukul 03.43 keesokan paginya di India untuk 1700000000.
Zona waktu baru berpengaruh saat Anda mengonversi tanggal ke timestamp. Sebagian jam terjadi dua kali saat jam dimundurkan, dan sebagian lagi tidak pernah terjadi saat jam dimajukan. Pada malam ketika jam di AS melompat maju, pukul 02.30 di New York tidak ada. Alat ini menangani kedua kasus dengan cara yang sama seperti Python: waktu yang tidak ada digeser maju sebesar selisihnya, dan waktu yang terjadi dua kali memakai kemunculan pertamanya.
Masalah Tahun 2038
Sistem lama menyimpan Unix time dalam signed integer 32-bit, yang batas maksimalnya 2147483647: 19 Januari 2038 pukul 03.14.07 UTC. Satu detik kemudian, angkanya overflow menjadi nilai negatif dan sistem tersebut membaca tanggalnya sebagai 13 Desember 1901.
Sebagian besar sistem operasi dan bahasa pemrograman modern memakai waktu 64-bit dan tidak terdampak, tetapi perangkat embedded, format file lama, sebagian kode legacy, dan tipe kolom TIMESTAMP di MySQL (yang berakhir pada 2038-01-19 03:14:07 UTC) masih terdampak. Konverter menampilkan peringatan untuk timestamp apa pun di luar rentang 32-bit, sehingga Anda bisa menemukan nilai yang bisa merusak software lama.
Advertisement
Mendapatkan Waktu Epoch Saat Ini dalam Kode
Setiap bahasa pemrograman dan shell bisa membaca dan mengonversi Unix time:
Math.floor(Date.now() / 1000) // detik
Date.now() // milidetik
new Date(1700000000 * 1000).toISOString() // '2023-11-14T22:13:20.000Z'import time, datetime
int(time.time()) # detik
datetime.datetime.fromtimestamp(1700000000, datetime.timezone.utc)
# 2023-11-14 22:13:20+00:00date +%s # epoch saat ini dalam detik
date -u -d @1700000000 # Linux (GNU date)
date -u -r 1700000000 # macOS (BSD date)-- PostgreSQL
SELECT extract(epoch FROM now());
SELECT to_timestamp(1700000000);
-- MySQL
SELECT UNIX_TIMESTAMP();
SELECT FROM_UNIXTIME(1700000000);time(); // PHP
date('c', 1700000000);
time.Now().Unix() // Go
Instant.now().getEpochSecond() // Java=(A1/86400)+DATE(1970,1,1) // epoch detik di A1 ke tanggal UTC
=(B1-DATE(1970,1,1))*86400 // tanggal UTC di B1 ke epoch detikUnix Timestamp yang Terkenal
0: 1 Januari 1970, 00.00.00 UTC, Unix epoch.1000000000: 9 September 2001, 01.46.40 UTC, timestamp 10 digit pertama.1234567890: 13 Februari 2009, 23.31.30 UTC.1700000000: 14 November 2023, 22.13.20 UTC.1800000000: 15 Januari 2027, 08.00.00 UTC.2000000000: 18 Mei 2033, 03.33.20 UTC.2147483647: 19 Januari 2038, 03.14.07 UTC, batas 32-bit.4294967295: 7 Februari 2106, 06.28.15 UTC, batas unsigned 32-bit.
Advertisement
Alat Developer Lainnya
Alat gratis lain untuk developer dan admin sistem, semuanya berjalan di browser Anda: