2017-02-05 1 views
1

joda-time을 사용하면 일주일과 한 해만 주어진 특정 요일에 날짜 목록을 가져올 수 있습니까? 내가 발견 한 모든 예제들, 나는 날짜를 설정해야하고 (일 - 월 - 년), 그때 만 주어진 주에 날짜 목록을 찾을 수 있습니다.요일, 주어진 주 및 요일을 나열하는 요일

답변

1

Joda-Time에는 연도 (-of-weekdate)와 주 - 연도 만 조합 된 전용 클래스가 없습니다. 따라서 Joda-Time의 범위 내에서 - 교체 코드 LocalDate을 사용하는 고정 된 요일 (여기서 : 월요일은 ISO-8601 표준에 정의 된대로 달력 주 첫날로 사용)) :

int year = 2015; 
int week = 52; 

LocalDate d = new LocalDate(); 
d = d.weekyear().setCopy(year); 
d = d.weekOfWeekyear().setCopy(week); 
d = d.withDayOfWeek(DateTimeConstants.MONDAY); 

for (int i = 0; i < 7; i++) { 
    System.out.println(d); 
    d = d.plusDays(1); 
} 

출력 :

// 2015-12-21 
// 2015-12-22 
// 2015-12-23 
// 2015-12-24 
// 2015-12-25 
// 2015-12-26 
// 2015-12-27 

마지막으로 당신이 ArrayList 정도 무엇을 적으로 수집 된 날짜를 넣을 수 있습니다.

+0

참고 : Joda-Time이 조금 오래되어 이제는 유지 관리 모드에서만 사용됩니다. 예를 들어, My Library [Time4J] (https://github.com/MenoData/Time4J) (목록) 날짜 = CalendarWeek.of (year, week) .streamDaily(). collect (Collectors.toList());' –