Fine. So, you need to determine the time (currentSeconds and currentHours and currentMinutes).
If you are going to show seconds for 30 seconds, that would be when the value is between 0 and 30. It really should not be too difficult to determine whether you need to call showSeconds(), or not.
Of course, expressed this way, perhaps you can see the flaw in your logic to display seconds for 30 seconds at a time.