년, 월, 일에서 Java 날짜 객체 생성
int day = Integer.parseInt(request.getParameter("day")); // 25
int month = Integer.parseInt(request.getParameter("month")); // 12
int year = Integer.parseInt(request.getParameter("year")); // 1988
System.out.println(year);
Calendar c = Calendar.getInstance();
c.set(year, month, day, 0, 0);
b.setDob(c.getTime());
System.out.println(b.getDob());
출력은 다음과 같습니다.
1988 년
1 월 25 일 수요일 00:00:08 IST 1989
나는 통과하고 25 12 1988
있지만 25 Jan 1989
. 왜?
달력에서 월은 0부터 시작합니다. 따라서 12는 12 월 + 1 개월로 해석됩니다. 사용하다
c.set(year, month - 1, day, 0, 0);
이것이 Java 8 이전에 제가 가장 좋아하는 방법입니다.
Date date = new GregorianCalendar(year, month - 1, day).getTime();
나는 이것이 다음보다 더 깨끗한 접근 방식이라고 말하고 싶습니다.
calendar.set(year, month - 1, day, 0, 0);
java.time
java.time
Java 8에 내장 된 프레임 워크 사용
int year = 2015;
int month = 12;
int day = 22;
LocalDate.of(year, month, day); //2015-12-22
LocalDate.parse("2015-12-22"); //2015-12-22
//with custom formatter
DateTimeFormatter.ofPattern formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
LocalDate.parse("22-12-2015", formatter); //2015-12-22
시간 (시, 분, 초)에 대한 정보도 필요하면에서 LocalDate
로 변환을 사용하십시오.LocalDateTime
LocalDate.parse("2015-12-22").atStartOfDay() //2015-12-22T00:00
Java의 캘린더 표현은 최고가 아니며 Java 8에서 작업 중입니다. Joda Time 또는 다른 유사한 라이브러리 를 사용하는 것이 좋습니다 .
다음은 Joda Time 라이브러리에서 LocalDate를 사용한 간단한 예입니다.
LocalDate localDate = new LocalDate(year, month, day);
Date date = localDate.toDate();
여기 에서 빠른 시작 자습서를 따를 수 있습니다.
JavaDoc 참조 :
month-MONTH 달력 필드를 설정하는 데 사용되는 값. 월 값은 0부터 시작합니다. 예 : 1 월의 경우 0.
따라서 설정 한 달은 내년의 첫 번째 달입니다.
날짜, 타임 스탬프 및 기간으로 작업 할 때 생활을 편하게 만드십시오. HalDateTime 사용
http://sourceforge.net/projects/haldatetime/?source=directory
예를 들어 다음과 같이 입력을 구문 분석하는 데 사용할 수 있습니다.
HalDateTime mydate = HalDateTime.valueOf( "25.12.1988" );
System.out.println( mydate ); // will print in ISO format: 1988-12-25
구문 분석 및 인쇄를위한 패턴을 지정할 수도 있습니다.
참고 URL : https://stackoverflow.com/questions/16499228/creating-java-date-object-from-year-month-day
'Development Tip' 카테고리의 다른 글
브라우저 다운로드에서 APK를 설치할 수 없습니다. (0) | 2020.10.13 |
---|---|
SVN에 파일이있는 기존 폴더를 추가하는 방법은 무엇입니까? (0) | 2020.10.13 |
div가 컨테이너 내의 영역 대신 전체 페이지를 덮도록 허용 (0) | 2020.10.13 |
Eloquent의 기본 기본 키 변경 (0) | 2020.10.13 |
React Router의 동일한 구성 요소에 대한 여러 경로 이름 (0) | 2020.10.13 |