2016-11-23 1 views
1

Нужно добавить 3 дня с даты, которую я получаю, но мне нужно избегать даты прихода на Дни Сб и солнца ....Нужна серьезная сценария для анализа даты. Добавить 3 рабочих дня

я использую ниже код ..

import java.util.GregorianCalendar; 
import java.util.Calendar; 
import java.util.Date; 
import java.text.SimpleDateFormat 

//String dt = "2016-10-12"; // Start date 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
Calendar c = Calendar.getInstance(); 
c.setTime(sdf.parse(dt)); 
c.add(Calendar.DATE, 3); // number of days to add 
op = sdf.format(c.getTime()); // dt is now the new date 

данный сценарий необходимо использовать .... 3 рабочих дней должны быть добавлены

Monday +3 days 
Tuesday +3 days 
Wednesday +5 days 
Thursday +5 days 
Friday +5 days 
Saturday +4 days 
Sunday +3 days 

в JavaScript я использую код, но мне нужно это в groovyScript .. я новичок в этом, я не знаю, h вл, чтобы сделать это .... мне нужна помощь ...

var day = weekday[ invoiceDatee.getDay() ]; 
switch(day) { 
    case "Sunday": 
     invoiceDatee.setDate(invoiceDatee.getDate() + 3); 
     break; 
    case "Monday": 
     invoiceDatee.setDate(invoiceDatee.getDate() + 3); 
     break; 
    case "Tuesday": 
     invoiceDatee.setDate(invoiceDatee.getDate() + 3); 
     break; 
    case "Wednesday": 
     invoiceDatee.setDate(invoiceDatee.getDate() + 5); 
     break; 
    case "Thursday": 
     invoiceDatee.setDate(invoiceDatee.getDate() + 5); 
     break; 
    case "Friday": 
     invoiceDatee.setDate(invoiceDatee.getDate() + 5); 
     break; 
    case "Saturday": 
     invoiceDatee.setDate(invoiceDatee.getDate() + 4); 
     break; 
    default: 
} 

ответ

0

Попробуйте это,

def map = [1: 3, 2: 3, 3: 3, 4: 5, 5: 5, 6: 5, 7: 4] 
c.add(Calendar.DATE, map[c.get(Calendar.DAY_OF_WEEK)]); // number of days to add 
+0

Благодаря Adeel Ансари .... Это не работает. незаконный двоеточие после выражения аргумента; решение: сложное выражение метки перед двоеточием должно быть заключено в скобки @ строка 8, столбец 32. Calendar.SATURDAY: 4; – Kumar

+0

@Kumar, извините, я не скомпилировал код. Обновлено, теперь нужно работать. –

+0

Super thank's Bro это работает ..... Спасибо u так много @Adeel Ansari – Kumar