Let's start with the "run" trigger. You could create a second questionnaire in the survey project that does nothing but write the current timestamp to the datanbase for contents:
dbSet('runTime', time());
Now you can measue the time that has passed since that trigger in any other questionnaire in this project:
$info = gbGet('runTime');
$runTime = $info[0];
$passed = time() - $runTime;
This timespan can be used for PHP filters.
if (($passed > 300) && ($passed > 600)) {
question('AB01');
}
This will show question AB01, for example, if the page is shown between 300 und 600 seconds after the "run" trigger.
Is that about what you were looking for?