Возврат следующей локализованной даты для таймера обратного отсчета

У меня есть этот код, который делает расчет, чтобы найти локализованное время UTC. На основе этого времени UTC есть еще одна функция, которая вычислит дату и время следующего события для меня. Если время между воскресеньем @ 12 и средой @ 8, мне сообщат дату мероприятия по средам, в противном случае - дату следующего события в воскресенье. Затем я беру эту рассчитанную дату, разделяю ее и передаю в качестве параметра в таймер обратного отсчета.

Мне интересно, есть ли более оптимизированный способ сделать это, особенно с условным оператором и где я разделил время на параметры.

$(function () {
// Calculate the time locally
function calcLocalizedTime() {
    var d = new Date(); // Date for current location
    var utc = d.getTime() + (d.getTimezoneOffset() * 60000); // convert to msec add local time zone offset get UTC time in msec
    var nd = new Date(utc + (3600000 * -5));
    return nd; // return localized datetime
}

// Calculate the next Webcast DateTime
function calcNextWebCast(date) {
    var localizedTime = new Date(date||new Date()); // localized datetime
    var nextDate = new Date(date||new Date()); // Next webcast datetime object
    var today = localizedTime.getDay() + '' + localizedTime.getHours(); // format localized datetime for comparison

    if (today >= 012 && today <=320 ) { // is today between Sun @ 12 or Wednesday @ 8
        nextDate.setDate(nextDate.getDate() + (3 - 1 - nextDate.getDay() + 7) % 7 + 1);
        nextDate.setHours(20,0,0,0);
    } else {
        nextDate.setDate(nextDate.getDate() + (3 - 4 - nextDate.getDay() + 7) % 7 + 1);
        nextDate.setHours(12,0,0,0);
    }

    return nextDate;
}

var localizedTime = calcLocalizedTime();
var nextWebCast = calcNextWebCast(localizedTime);
var m = nextWebCast.getMonth() + 1;
var d = nextWebCast.getDate();
var y = nextWebCast.getFullYear();
var hh = nextWebCast.getHours();
var mm = nextWebCast.getMinutes();

$('#defaultCountdown').countdown({until: $.countdown.UTCDate(-5, y, m-1, d, hh, mm)});

});

Ответы на вопрос(1)

Ваш ответ на вопрос