Hm. This double check looks a bit confusing (if x and y then ... else ...; if not y then ...). First I am not sure which result @emanuelschuetze wants to have for 3661 seconds, `1:01:01` or `61:01`. If he says that he likes the first one, I would do it like this:
```text
hours_digits = seconds / 3600 (without rest)
minutes_digits = (seconds - hours_digits * 3600) / 60 (without rest)
seconds_digits =  (seconds - hours_digits * 3600 - minutes_digits * 60)
After this normalize minutes_digits and seconds_digits.
result = minutes_digits + ":" + seconds_digits 
if hours_digits > 0 then result = hours_digits + ":" + result
```
If he don't like hours_digits, you can do it like this:
```text
minutes_digits = seconds / 60 (without rest)
seconds_digits =  (seconds - minutes_digits * 60)
After this normalize minutes_digits and seconds_digits.
result = minutes_digits + ":" + seconds_digits 
```