Вообщем чё я придумал... складывать всё в секунды и далее через C# конвертировать в hh:mm:ss
1) Регулярки для взятия часов, минут и секунд из строки формата ISO 8601. Из них потом надо удалить буквы, как брать сразу числа не сумел.
2) Вычисление через JavaScript, если одна из переменных пустая надо задать 0, иначе будет ошибка.
{-Variable.hours-}*3600+{-Variable.minutes-}*60+{-Variable.seconds-}
3) C# для конвертации, переменная "text", взял из
этой темы и чуток переделал.
TimeSpan t = TimeSpan.FromSeconds(Convert.ToDouble(project.Variables["text"].Value));
return t.ToString(@"hh\:mm\:ss");