2012-05-03 2 views
1

У меня есть объект, который имеет 2 даты startdate_ c и enddate _c. мне нужно найти способ, чтобы найти дни недели эти даты попадают внайти День недели определенной даты

Например StartDate = 1 июнь 2012 и EndDate = 3 jun2012 мне нужно знать, в какие дни недели дни между этими датами падения в. в этом примере Mon = ложь, Вт = ложь, ср = ложь, ЧГ = ложь, пт = верно, сел = истинное, солнце = истинное

Я хочу использовать это на странице Vf, чтобы оказать некоторые поля, основанные на логическом значении.

Любые указатели окажут большую помощь.

ответ

1

Дата имеет метод toStartOfWeek, который вы могли бы эффективно использовать, при условии, ваши две даты лгут в пределах одной недели вы могли бы просто сделать что-то вроде этого:

date weekStart = startdate.toStartOfWeek(); 
list<boolean> days = new list<boolean>(); 

for(integer i = 0; i < 7; i++) 
{ 
    days.add(weekStart.addDays(i) >= startdate && weekStart.addDays(i) <= enddate); 
} 

немного сырой, но это даст вы имеете массив из 7 булевых значений. Для более длинных/неизвестных диапазонов вы можете использовать курсор даты и инкремент, который вместо целого здесь, но это должно заставить вас начать. Примечание. Я не тестировал этот код;)

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