Apa arti Unix timestamp negatif?
Tanggal sebelum 1 Januari 1970. Misalnya -86400 mewakili 31 Desember 1969. JavaScript juga dapat menangani timestamp negatif dengan benar.
Konversi Unix timestamp ke tanggal dan sebaliknya
Unix dikembangkan pada 1969-1970, para developer memilih 1 Januari 1970 sebagai titik awal yang praktis. Nilai ini mudah diproses oleh komputer pada masa itu.
Tanggal sebelum 1 Januari 1970. Misalnya -86400 mewakili 31 Desember 1969. JavaScript juga dapat menangani timestamp negatif dengan benar.
Gunakan Date.now() untuk timestamp milidetik, atau Math.floor(Date.now()/1000) untuk detik. new Date().getTime() mengembalikan nilai yang sama dengan Date.now().
Unix timestamp adalah cara universal komputer menyimpan waktu — jumlah detik (atau milidetik) yang telah berlalu sejak 1 Januari 1970 UTC (Unix epoch), direpresentasikan sebagai bilangan bulat sederhana. Sistem operasi, database, dan API menggunakan standar ini untuk menangani tanggal dan waktu. Karena tidak bergantung pada zona waktu, sangat cocok untuk sistem internasional.
10 digit berarti detik (contoh: 1700000000) dan 13 digit berarti milidetik (contoh: 1700000000000). Date.now() di JavaScript mengembalikan milidetik, sedangkan system call Unix/Linux biasanya menggunakan detik. Anda bisa mengenali satuan hanya dari jumlah digit.
Timestamp adalah bilangan bulat murni, mudah dibandingkan, diurutkan, dan dihitung selisihnya. String tanggal seperti YYYY-MM-DD sering menimbulkan kebingungan soal format dan zona waktu, sementara timestamp selalu jelas merujuk UTC. Efisiensi penyimpanan lebih tinggi dan menguntungkan untuk optimasi index di database.
Unix timestamp selalu menggunakan UTC (Coordinated Universal Time) sebagai acuan. Indonesia menggunakan WIB (UTC+7), WITA (UTC+8), atau WIT (UTC+9), jadi perlu penyesuaian saat menampilkan. Praktik terbaik adalah menyimpan dalam UTC dan mengonversi ke waktu lokal hanya saat ditampilkan kepada pengguna.
Unix timestamp yang disimpan sebagai integer 32-bit bertanda akan meluap pada 19 Januari 2038 pukul 03:14:07 UTC, dikenal sebagai masalah Y2K38. Sistem 64-bit tidak terpengaruh, namun sistem embedded dan legacy lama masih berisiko dan perlu direncanakan migrasinya.