Используйте следующие функции dateFns для получения компонентов, затем объедините их вместе со строками.
пусть х будет меньше года, у будет больше
сохранить разность, вызванную годами х и у, что дает целое число лет в переменной
передайте x и в качестве параметра для addYears присвойте x
вызовите разницу в месяцах по x и y, сохраните
вызовите addMonths для x и это сэкономило количество месяцев
сделать то же самое с разницей в днях и добавлениями, разностями в часах и добавлениями
Теперь x находится менее чем в 60 минутах от y, поэтому вызовите разностьInMinutes, и все готово (при условии, что ваш countDown уменьшен до минуты).
Вот ваш пример запуска на runkit.com для иллюстрации метода.
var dateFns = require("date-fns");
var x = new Date();
var y = new Date(2022, 2, 6, 0, 0, 15);
var temp;
temp = dateFns.differenceInYears(y, x);
var result = temp + " years ";
x = dateFns.addYears(x, temp);
temp = dateFns.differenceInMonths(y, x);
result = result + temp + " months ";
x = dateFns.addMonths(x, temp);
temp = dateFns.differenceInDays(y, x);
result = result + temp + " days ";
x = dateFns.addDays(x, temp);
temp = dateFns.differenceInHours(y, x);
result = result + temp + " hours ";
x = dateFns.addHours(x, temp);
temp = dateFns.differenceInMinutes(y, x);
result = result + temp + " minutes ";
x = dateFns.addMinutes(x, temp);
temp = dateFns.differenceInSeconds(y, x);
result = result + temp + " seconds";
console.log(result);