Checking and converting [[HH:]MM:]SS input format
Here are my suggestions:


The printExit() prints an error message, but does not exit.  It would be better to actually exit or rename the function.
Your regex in isnumeric() has two minor issues.  Putting a ^ at the beginning will make it clear that the regex matches the whole string.  While this is implicit with expr it does not fit with how most implementations work.  Another issue is that the * quantifier means 0 or more so it might match 0 or none of the what you're looking for.  So an empty string would match what you have since it would be zero digits followed by the end of the string.  I couldn't reproduce this failure mode, but I'd recommend this line instead which works for my tests:

if ! expr "$1" : '^[[:digit:]]\+$' &gt; /dev/null; then

It would be nice to explain what you're trying to do with those string manipulations with a few comments
More of your variables could be localized so they don't leak out of the function they are used in.
Using the in variable names to avoid conflicting with generic names works, but if you can find more descriptive names it would be easier to follow.  Along the same lines all variables are temporary so that doesn't help explain why the variable exists.  Maybe checkTime or even check_time.
All of the math is integer math.  You won't get any decimals with bash or expr math.  https://stackoverflow.com/questions/12722095/how-can-i-get-float-division explains that you can work around with bc.
Optimization Using expr is fine, but it calls an external program.  Using bash's builtin math would avoid spawning a new process and would cut out a lot of the script's time.
    ((just_minutes = just_minutes + trunc_seconds/60))