Properti timeStamp
antarmuka Event
menunjukkan waktu terjadinya peristiwa tertentu.
Pada versi Chrome sebelum 49, nilai timeStamp ini
direpresentasikan sebagai DOMTimeStamp,
yang merupakan bilangan bulat milidetik sejak
epoch sistem,
seperti nilai yang ditampilkan oleh
Date.now().
Mulai Chrome 49, timeStamp adalah nilai
DOMHighResTimeStamp. Nilai ini masih berupa jumlah milidetik, tetapi dengan resolusi
mikrodetik, yang berarti nilai akan menyertakan komponen desimal. Selain itu,
nilainya tidak relatif terhadap epoch, tetapi relatif terhadap
PerformanceTiming.navigationStart,
yaitu waktu saat pengguna membuka halaman.
Manfaat akurasi stempel waktu tambahan dapat dilihat dalam contoh berikut:
Pertimbangan lintas browser dan lama
Jika sudah memiliki kode yang membandingkan nilai Event.timeStamp dari
dua peristiwa, Anda tidak perlu menyesuaikan kode karena peralihan ke
DOMHighResTimeStamp. Selain itu, di browser yang mendukung
DOMHighResTimeStamp, kode yang ada akan mendapatkan manfaat dari
peningkatan akurasi mikrodetik, serta fakta bahwa
DOMHighResTimeStamp dijamin akan
meningkat secara monoton,
terlepas dari apakah jam sistem berubah di tengah eksekusi halaman
web Anda.
Jika, alih-alih membandingkan dua nilai Event.timeStamp, kode Anda
perlu menentukan berapa lama peristiwa terjadi, nilai
DOMHighResTimeStamp baru dapat dibandingkan langsung dengan
performance.now().
Dan jika Anda perlu mengubah Event.timeStamp menjadi jumlah absolut
milidetik sejak epoch sistem, Anda bisa mendapatkan nilai tersebut dengan menambahkan
DOMHighResTimeStamp ke performance.timing.navigationStart.
Dalam kedua kasus tersebut, DOMTimeStamp dan DOMHighResTimeStamp
berperilaku berbeda, tetapi Anda dapat menyederhanakan kode lintas browser dengan menggunakan
fungsi konversi ini,
dari Majid Valipour. Fungsi ini mengambil
objek Event sebagai parameter dan menampilkan
nilai seperti DOMHighResTimeStamp, yang siap dibandingkan dengan
performance.now() atau ditambahkan ke
performance.timing.navigationStart.