Handling millis() rollover

I did see that post, but I didn’t see any examples in there of how to actually handle the rollover. Going back and looking again, I did find Micros() rolling over after 59.652323 seconds, not 71 minutes [SOLVED], but now I don’t understand how it works.

I understand that the function takes in 2 unsigned longs and then subtracts the old from the new. What I don’t understand is how there could be a result of < 0 to check against if the longs are unsigned. From everything I understand about them, there should never be a negative value on an unsigned number.

@mumblepins After reading that link you posted, and your own post, can I assume that it should just ‘magic’ when I do millis() - lastTime if millis = 500 and lastTime = [MAX]-14500?