Je haalt in de functie displayTime al het uur binnen.
Dat is wat mij betreft een grote zwakte van je huidige code, want tijdens loop doe je helemaal niets voor 1 volle seconde (en dat is ook al twijfelachtig, maar daar gaan we nu maar even niet op in), nadat je uitsluitend displayTime een enkele keer hebt aangeroepen.
Daarna doe je dat "alles" nog een keer over.
Als je dit gewoon in loop doet, dan blijven de binnen gehaalde waarden ook voor iets anders beschikbaar.
En dat andere is dan dus kijken of je timer al verlopen is.
Nou dan dus die timer van 8 uur.
Dan ga je dus bij het starten van de timer opslaan hoe laat het is, en in dit geval heb je alleen de hele uren nodig.
Daarna ga je kijken of er al 8 uren verlopen zijn.
Aangezien je hebt opgeslagen hoe laat het was toen de timer startte, kun je dus uitrekenen hoe laat de timer moet stoppen.
Natuurlijk moet je daar dan wel rekening houden met het feit dat je op een klok zit te kijken...
En wellicht wil je toch iets meer opslaan, want straks wil je opdrachtgever ineens 8 uur en 12 minuten meten ofzo.