2014-11-25 3 views
-1

사용자에게 시작 날짜를 입력하도록 요청하는 응용 프로그램이 있습니다. 그런 다음 사용자는 일련의 5 페이지와 입력 데이터를 엑셀 시트로 내보낼 것입니다. 첫 번째 블록에는 페이지 1이 있고 두 번째 블록에는 날짜 2가오고 날짜 등은 증가합니다. 이 기능을 수행하는 데 사용할 수있는 함수 유형 또는 if 문을 사용하여 날짜를 올바르게 증가시킬 수 있습니다. 나는 단순히 변수안드로이드의 날짜 증가

int day = getIntent().getExtras().getInt("day"); 
    int year = getIntent().getExtras().getInt("year"); 
    String month = getIntent().getStringExtra("month"); 
    String dayofweek = getIntent().getStringExtra("dayofweek"); 

일련의 날짜를 반환하여 날짜를 증가하려고 내가 출력 것 엑셀 시트에 해당하는 세포에서이 변수. 월요일은 시작일 이후의 변수 일뿐입니다. 화요일은 하루 + 1이 될 것입니다. 수요일은 날 5 일까지 계속 증가하는 날 + 1이 될 것입니다. 문제는 내가 시작한 날이 그 날의 마지막 날로 선택된다는 것입니다. 1 월 31 일, 32 일 1 월 33 일, 1 월 34 일 등. 그래서 나는 2016 년과 2020 년의 월말, 연말을 고려해야합니다. 주말에. 예를 들어 화요일을 선택한 경우 화요일에 시작일을 표시하고 네 번째 날짜는 금요일에 표시 한 다음 월요일에 다음 올바른 날짜를 다시 표시합니다.

그래서 나는 그게 전부가 될 것이라고 생각합니다. 이것을 구현하는 더 좋은 방법이 있습니까?

+0

중복 가능성을 새 Date 객체를 얻을 것이다 그것을

c1.add(Calendar.DATE, 1); Date newDate = c1.getTime(); 

를 증가 할 수 [방법 Java에서 하루 만 날짜를 늘릴 수 있습니까?] (http://stackoverflow.com/questions/428918/how-can-i-increment-a-date-by-one-day-in-java) –

답변

0

당신은 날짜 또는 달력 개체가 증가하는 .... 월

1 월인지 확인해야합니다. 2 월 30 일이 3 월 1 일로 변경됩니다. 월은 0으로 설정해야합니다. 가장 좋은 달력에 정의 된 상수를 사용하는 것입니다

c1.set(2000, Calendar.JANUARY, 30); 

이 그런 다음 당신은 다음 날의 :

관련 문제