const getTime = () => new Date(); // Здесь, конечно же, можно производить модификации даты перед выдачей
window.setInterval(setCurrTime, 3000, getTime); // Не вызов, а именно передача функции!
// и внутри setCurrTime:
...
const date = date(); // обращение к функции, переданной в качестве аргумента с именем "date"
let clock = [12,23,34];
setInterval(() => {
// .. как-то выводим часы и минуты
// а затем обновляем данные в часах
clock[2] = ++clock[2] % 60;
if (clock[2] === 0) {
clock[1] = ++clock[1] % 60;
if (clock[1] === 0) {
clock[0] = ++clock[0] % 24;
}
}
}, 1000);