Is there a way to figure out for how long he slept ?
So you need basically a clock to still run while your arduino sleeps.
it could be your arduino :
use a "light sleep" mode - in SLEEP_MODE_IDLE for example the clocks are running. This means that the normal Timer0 which is used by millis() will be running, so counting will work but you will wake up approximately every millisecond
you could use the WatchDog timer to wake up every x (say 8 ) seconds - and update a variable to count to number of intervals and go back to sleep. for example and you would get a multiple of 8 seconds estimates of how long you "kinda slept" (but it is not so accurate)
it could be an external device that would stay powered. a RTC would give you a precision up to 1 second roughly, some RTC would go even to 100th of a second