Ketika berhadapan dengan waktu, kita harus membuat perbedaan antara setidaknya dua konsep yang berbeda: instan dan durasi . Instan adalah titik pada sumbu waktu. Durasi adalah panjang interval waktu, yaitu jarak waktu antara instance yang menentukan awal dan akhir interval. Perbedaan antara konsep-konsep ini tidak selalu sangat tajam dalam bahasa sehari-hari. Misalnya, jika saya mengatakan " Saya akan kembali dalam lima menit ", maka " lima menit " adalah perkiraan durasi ketidakhadiran saya, sedangkan " dalam lima menit " adalah instan prediksi saya akan kembali. Mempertahankan perbedaan dalam pikiran adalah penting, karena ini adalah cara paling sederhana untuk sepenuhnya menghindari masalah rollover.
Nilai kembali dari millis()dapat diartikan sebagai durasi: waktu berlalu sejak awal program hingga sekarang. Namun, interpretasi ini rusak segera setelah millis meluap. Secara umum jauh lebih berguna untuk menganggap millis()mengembalikan cap waktu , yaitu "label" yang mengidentifikasi instan tertentu. Dapat dikatakan bahwa penafsiran ini menderita dari label-label ini menjadi ambigu, karena mereka digunakan kembali setiap 49,7 hari. Ini, bagaimanapun, jarang menjadi masalah: di sebagian besar aplikasi embedded, apa pun yang terjadi 49,7 hari yang lalu adalah sejarah kuno yang tidak kita pedulikan. Dengan demikian, daur ulang label lama seharusnya tidak menjadi masalah.
Mencoba mencari tahu di antara dua cap waktu yang lebih besar dari yang lain tidak masuk akal. Contoh: