Pengertiannya
Timestamp Unix adalah jumlah detik sejak 1 Januari 1970 pukul 00.00.00 UTC, yang disebut epoch Unix. Pada saat yang sama, angkanya sama di seluruh dunia, karena itu API, log, dan database memakainya. 1700000000, misalnya, adalah 14 November 2023 pukul 22.13.20 UTC.
Detik atau milidetik?
Timestamp dalam detik saat ini terdiri dari 10 digit. JavaScript, Java, dan banyak API memakai milidetik, 13 digit. Jika hasilnya tanggal di tahun 1970 atau ribuan tahun di masa depan, kemungkinan satuannya salah.
Konversi online
Tempel di Konverter timestamp Unix. Alat ini mengenali detik atau milidetik dan menampilkan tanggalnya dalam UTC dan zona waktu Anda.
Di kode dan spreadsheet
- JavaScript:
new Date(1700000000 * 1000) - Python:
datetime.fromtimestamp(1700000000, tz=timezone.utc) - Excel atau Google Spreadsheet:
=A1/86400+DATE(1970;1;1), lalu format selnya sebagai tanggal. Hasilnya dalam UTC. - Terminal di Mac atau Linux, waktu saat ini:
date +%s
Masalah tahun 2038
Sistem yang menyimpan timestamp sebagai bilangan bertanda 32-bit akan meluap pada 19 Januari 2038 pukul 03.14.07 UTC. Sistem modern memakai 64 bit, yang cukup untuk miliaran tahun.
Contoh
0adalah 1 Januari 1970, 00:00:00 UTC.86400tepat satu hari kemudian, 2 Januari 1970.-86400satu hari sebelumnya, 31 Desember 1969. Timestamp negatif adalah tanggal sebelum 1970.2000000000adalah 18 Mei 2033, 03:33:20 UTC.
Kesalahan umum
- Mengira timestamp punya zona waktu. Tidak. 1700000000 adalah saat yang sama di mana pun; hanya tampilannya yang bergantung pada zona waktu.
- Membuat timestamp dari waktu lokal seolah-olah UTC. Hasilnya bergeser sebesar selisih zona waktumu dengan UTC, sering kali tepat beberapa jam (WIB adalah UTC+7). Periksa satu tanggal yang kamu ketahui setelah mengonversi.
- Bulan di JavaScript.
new Date(2026, 0, 15)adalah 15 Januari: bulan dihitung mulai dari 0. - Detik kabisat. Waktu Unix menganggap setiap hari tepat 86.400 detik dan mengabaikan detik kabisat, jadi bukan hitungan setiap detik yang benar-benar berlalu.