2013-07-02 4 views
0

주말을 제외하고 하루 전날을 얻는 방법을 찾아야합니다. 나는 달력 라이브러리를 많이 사용했다 년 7 (1), 2013 년 가정하고 내가 그것을 2013년 6월 28일하지 6 월 30 일 반환해야하므로 전날 날짜를 얻으려면, 2013jodastime library를 사용하여 하루 전날 받으십시오.

하지만 연구 후 :

같은

그것이 JodaTime 라이브러리처럼 보이는 동안가는 길입니다. 이 같은

+1

어떻게 일일 전에 다시 삼일 이동합니다 올를? –

+1

@RohitJain : 주말 제외 ... –

답변

4

뭔가를 수행해야합니다

static LocalDate oneDayBackExcludingWeekends(LocalDate date) { 
    do { 
     date = date.minusDays(1); 
    } while (date.getDayOfWeek() == DateTimeConstants.SUNDAY || 
      date.getDayOfWeek() == DateTimeConstants.SATURDAY); 
    return date; 
} 

당신은보다 효율적으로 될 수있다, 마음이 당신에게 :

static LocalDate oneDayBackExcludingWeekends(LocalDate date) { 
    switch (date.getDayOfWeek()) { 
     case DateTimeConstants.MONDAY: 
      return date.minusDays(3); 
     case DateTimeConstants.SUNDAY: 
      return date.minusDays(2); 
     default: 
      return date.minusDays(1); 
    } 
} 
+0

고마워요! 정말 감사하지만 날짜가 공휴일 인 경우에는 어떻게됩니까? 7 월 4 일 (독립 기념일)과 같은 것이 여전히 효과가 있습니까? – user2501165

+1

@ user2501165 : 아니요,하지만 그건 당신이 요구 한 것이 아닙니다. 당신은 휴일의 명부가, 다른 국가에는 다른 휴일이있을 것이라는 점을 명심해야 할 것입니다 ... –

+0

오오 좋아 지금 그것을 얻었습니다. 감사! – user2501165

관련 문제