2017-02-20 1 views
0

안녕하세요. Java의 StartDate = "2017-01-28"및 EndDate = "2017-02-03"의 예를 찾으려면 OutPut시작 날짜를 반복하여 Java에서 날짜를 완료하는 방법

2017년 1월 28일 2017년 1월 29일 2017년 1월 30일 2017년 1월 31일 2017년 2월 1일 2017년 2월 2일 2017년 2월 3일 제발 도와주세요입니다 감사합니다 ..

당신은 자바 달력을 사용할 수 있습니다
+0

그리고 무엇을 시도 했습니까? –

+0

I이 유형 시도했지만 작동하지 (LOCALDATE 날짜 = FROMDATE; date.isBefore (endDate가) 날짜 = date.plusDays (1)) \t \t가 { \t \t \t \t} –

+0

N이 이미 요구되고 여러 번 전에 그리고 Stackoverflow에 대답했다. –

답변

4

이를 달성하기 위해 :

Date start = new Date(); 
Date end = new Date(); 

Calendar cStart = Calendar.getInstance(); cStart.setTime(start); 
Calendar cEnd = Calendar.getInstance(); cEnd.setTime(end); 

while (cStart.before(cEnd)) { 

    //add one day to date 
    cStart.add(Calendar.DAY_OF_MONTH, 1); 

    //do something... 
} 
1

글쎄, 당신은 (Joda Time를 사용하여) 이런 식으로 뭔가 내가 철저하게 내장 된 날짜/달력 클래스를 통해 Joda 시간을 사용하는 것이 좋습니다 것입니다

for (LocalDate date = startDate; date.isBefore(endDate); date = date.plusDays(1)) 
{ 
    ... 
} 

을 할 수 있습니다.

2

Java 8에서 패키지 java.time을 사용하여 대답하십시오.

StringBuilder builder = new StringBuilder(); 
LocalDate startDate = LocalDate.parse("2017-01-28"); 
LocalDate endDate = LocalDate.parse("2017-02-03"); 
LocalDate d = startDate; 

while (d.isBefore(endDate) || d.equals(endDate)) { 
    builder.append(d.format(DateTimeFormatter.ISO_DATE)).append(" "); 
    d = d.plusDays(1); 
} 

// "2017-01-28 2017-01-29 2017-01-30 2017-01-31 2017-02-01 2017-02-02 2017-02-03" 
String result = builder.toString().trim(); 
관련 문제