2
我有這個代碼來計算查找本地化的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)});
});