Как сделать склонения слов секунда, секунд, секунды?
В современные браузеры встроена поддержка плюрализации (IE и Safari за бортом)

https://developer.mozilla.org/en-US/docs/Web/JavaS...

Выдает на выходе строку, означающую форму, на основе которых мы можем сделать ассоциативный массив

let assoc = {
  one: 'Яблоко',
  few: 'Яблока',
  many: 'Яблок',
}
let number = 31;
let form = new Intl.PluralRules('ru-RU').select(number);
console.log(number, assoc[form]); // 31 Яблоко
Делал в excel документе (точнее, в libreoffice calc) формулу для вывода числа в текст,  и в конце "рубль", "рублей", "рубля"... 
Если кратко - то просто прописать правило для чисел от нуля до 9 (0 секунд, 1 секунда, 2 секунды, 3 секунды, 4 секунды, 5 секунд, 6 секунд, 7 секунд, 8 секунд, 9 секунд), и в виде исключения диапазон от 10 до 20 секунд (ХХ секунд). А дальше из любого числа берём крайний разряд (от 0 до 9 числа) и по ним выводим по ранее прописанному правилу. Тут даже проще, чем число в текст, нужно только последнее слово изменять. Дальше 20 и до 60 это никак не поменяется. 
Если лень делать и думать над алгоритмом - можно захардкодить массив от 0 до 59 и в нём вручную прописать то слово какое нужно, и его выводить. Но в принципе обычный свитч (CASE или что там в PHP) справится с диапазонами. Дальше сами.