Indeed, use millis(), that's the easiest. You get something like this:
unsigned long startTime;
void setup() {
startTime = millis();
}
void loop() {
if (millis() - startTime > 2 * 60 * 60 * 1000) {
startTime = millis();
doTwoHourThing();
}
}