강의로 돌아가기
-

simpleDateFormat 사용시 결과값 이상

simpleDateFormat을 사용하여 결과값을 리턴하니 값이 이상하게 나오는것같네요..

작성중인 코드―CalendarExam.java
1
2
3
4
5
6
7
8
9
10
11
12
13
import java.util.*;
import java.text.*;
public class CalendarExam{
  public String hundredDaysAfter(){
    //오늘부터 100일 뒤의 날짜를 "2016년1월1일"의 형식으로 return하세요.
SimpleDateFormat df = new SimpleDateFormat("yyyy년MM월dd일");
    Calendar cal = Calendar.getInstance();
    cal.add(cal.DATE, 100);
    String result = df.format(cal.getTime());
    return result;
  }
  public static void main(String[] args){}
}
2 개의 답변
-

오늘이 1월일때에는 1월 이어야 하는데 01월 을 리턴해서 그렇습니다.

  • -
    아 그렇군요 MM월이 아닌 M월로 변경하여 출력하니 제대로 되네요 감사합니다^^ - 2017.08.18 11:24
SYG

public class CalendarExam{
public String hundredDaysAfter(){
//오늘부터 100일 뒤의 날짜를 2016년1월1일의 형식으로 return하세요.
String strDay = "";
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 100);

int years = cal.get(Calendar.YEAR);
int months = cal.get(Calendar.MONTH)+1;
int days = cal.get(Calendar.DAY_OF_MONTH);
strDay = Integer.toString(years) + +Integer.toString(months) + + Integer.toString(days) +;
System.out.println( strDay );
return strDay;
}

public static void main(String[] args){
CalendarExam cal = new CalendarExam();
cal.hundredDaysAfter();
}
}

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.