Keeping relative time (simply) without RTC

The data type of now() is time_t, which is an unsigned long.

I usually use the RTClib library, because it has a millis-based software RTC that allows for writing code and debugging without having an actual hardware RTC, then later add the hardware RTC by changing the constructor and a line or two in setup.