나는이 간단한 방법을 써서 모든 지불 기간의 날짜를 알려주고 1 월 1 일부터 일하는 것을 그만 두었다. 나는 여기서 무엇이 잘못되었는지 정말로 확신하지 못한다. 아무것도 반환하지 않습니다. 귀하의 동안 조건이 충족되지 않는마지막 지불 날짜 찾기
public static List<Date> getPayPeriodDatesSinceStartOfYear() {
Calendar cal = new GregorianCalendar();
cal.add(Calendar.WEEK_OF_YEAR, 1);
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
cal.set(Calendar.WEEK_OF_YEAR, 2);
Calendar currentDate = new GregorianCalendar();
currentDate.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
int counter = 2;
List<Date> dates = new ArrayList<Date>();
while ((cal.getTime().compareTo((currentDate.getTime())) <= 0)) {
dates.add(cal.getTime());
counter += 2;
cal.set(Calendar.WEEK_OF_YEAR, counter);
}
java.util.Collections.reverse(dates);
if(dates.isEmpty()){
JOptionPane.showMessageDialog(null, "NO DATES, SOMETHING IS WRONG!");
}
return dates;
}
실행하면 메시지 대화 상자가 튀어 나옵니까? – Mitch
그래, 내 생각에 내가하고있는 일은 지난해 중반에 일했던 것 같아. – davidahines
'getPayPeriodDatesSinceStartOfYear()' 이름에서 알 수 있듯이 2 주 후에 실행해야한다고 생각합니다. 이후 올해 첫 번째 주간은 아직 지급 기간이 없습니다. –