2015-04-17 4 views
0

Я хочу написать код jQuery, который вычисляет дату предстоящего рабочего дня.Как найти дату дней недели по текущему дню

Это для организации встреч. менеджер выбирает дни собрания, с недельным периодом. например каждую субботу. Сотрудник просматривает панель заседаний и уведомляет о следующем совещании. он должен показать дату, согласно сегодняшней дате. и когда он истек, он снова рассчитывает его на предстоящую неделю.

проблема в том, что я не могу найти способ правильно рассчитать дату выбранного дня. Я написал следующее:

var d = $("#day").html(); 
var x = 0; 

if (d === "Saturday") { 
    var x = 0; 
}; 
if (d === "Sunday") { 
    var x = 1; 
}; 
if (d === "Monday") { 
    var x = 2; 
}; 

if (d === "Tuesday") { 
    var x = 3; 
}; 
if (d === "Wednesday") { 
    var x = 4; 
}; 
if (d === "Thursday") { 
    var x = 5; 
}; 
if (d === "Friday") { 
    var x = 6; 
}; 
var b = new Date(); 
var n = b.getDay(); 
var c = n - x; 

В настоящее время c - разница между сегодняшним днем ​​и предстоящей встречей. для нахождения даты проведения собрания, я собираюсь использовать moment.js библиотеку как этот

moment().add("day", x).toString(); 

но не возвращает дату для меня. У вас есть лучший алгоритм?

+0

Не уверен, что я понимаю. вы просто пытаетесь получить «следующую субботу» и т. д.? – adeneo

+0

Воскресенье - 0 и суббота - 6 ... – brso05

+0

@adeneo не совсем в субботу. это зависит от даты, которую они собираются выбрать, когда они определяют встречу. – user3743016

ответ

0

Вы могли бы хотеть попробовать:

var d = $("#day").html(); 
var x = 0; 

if (d === "Saturday") { 
    var x = 6; 
}; 
if (d === "Sunday") { 
    var x = 0; 
}; 
if (d === "Monday") { 
    var x = 1; 
}; 

if (d === "Tuesday") { 
    var x = 2; 
}; 
if (d === "Wednesday") { 
    var x = 3; 
}; 
if (d === "Thursday") { 
    var x = 4; 
}; 
if (d === "Friday") { 
    var x = 5; 
}; 
var b = new Date(); 
var n = b.getDay(); 
var c = n - x; 
var newDate = new Date(); 
newDate.setDate(b.getDate() + c); 

//newDate should now have your new date for the next meeting 

Код для увеличивающиеся даты взяты из here

Смежные вопросы