Waktu Unix (Unix timestamp) adalah jumlah detik yang telah berlalu sejak 1 Januari 1970, 00:00:00 UTC. Tanggal ini disebut "epoch Unix", dan inilah titik acuan yang digunakan hampir semua sistem operasi, database, dan bahasa pemrograman modern untuk menghitung waktu.
Mengapa tepatnya tahun 1970
Tanggal ini tidak dipilih karena peristiwa khusus, melainkan murni karena kepraktisan: para pengembang Unix di Bell Labs pada awal 1970-an hanya mengambil tahun yang sedang berjalan saat itu sebagai titik awal bulat yang praktis. Tidak ada makna lebih dalam di balik tanggal ini.
Mengapa format ini begitu umum di startup fintech
Di ekosistem fintech dan e-commerce Indonesia yang tumbuh pesat, setiap transaksi biasanya dicatat dengan timestamp Unix karena memudahkan membandingkan dan mengurutkan event antar-server yang tersebar di tiga zona waktu domestik (WIB, WITA, WIT) tanpa perlu konversi manual di level basis data.
Masalah tahun 2038
Banyak sistem lama menyimpan waktu Unix sebagai bilangan bulat bertanda 32-bit, yang hanya bisa merepresentasikan nilai hingga 19 Januari 2038. Setelah tanggal itu, angka semacam ini akan meluap — bukan sekadar masalah teoretis, karena banyak perangkat tertanam murah dan mesin industri lama tetap beroperasi bertahun-tahun tanpa pembaruan firmware.
Untuk apa ini dibutuhkan
- Mengonversi timestamp dari log atau respons API menjadi tanggal dan waktu yang bisa dibaca.
- Menghitung selisih antara dua momen waktu tanpa perhitungan kalender manual.
- Mendiagnosis masalah terkait zona waktu saat bekerja dengan timestamp.
Waktu Unix dan detik kabisat
Waktu Unix mengasumsikan setiap hari selalu tepat 86400 detik, mengabaikan detik kabisat yang sesekali ditambahkan ke UTC untuk mengompensasi perlambatan rotasi Bumi. Ini berarti waktu Unix secara teknis bukan representasi UTC yang tepat pada saat-saat detik kabisat ditambahkan — kebanyakan sistem cukup "meregangkan" atau mengulang satu detik untuk menghindari lompatan pada penghitung.