수색…


비고

Java 8에서는, Calendar 와 그 서브 클래스가 java.time 패키지 및 그 서브 패키지에 의해 옮겨 놓을 수있었습니다 . 기존 API에 Calendar가 필요하지 않은 한 선호해야합니다.

달력 객체 만들기

Calendar 객체는 getInstance() 를 사용하거나 GregorianCalendar 생성자를 사용하여 만들 수 있습니다.

그것은에 달 통지하는 것이 중요 Calendar 1 월로 표현되는 것을 의미하는 0부터이다 int 항상 더 나은 코드를 제공 사용하려면 값을 0 Calendar 과 같은 상수, Calendar.JANUARY 오해를 피하기 위해.

Calendar calendar = Calendar.getInstance();
Calendar gregorianCalendar = new GregorianCalendar();
Calendar gregorianCalendarAtSpecificDay = new GregorianCalendar(2016, Calendar.JANUARY, 1);
Calendar gregorianCalendarAtSpecificDayAndTime = new GregorianCalendar(2016, Calendar.JANUARY, 1, 6, 55, 10);

: 항상 달의 정수를 사용합니다. 수치 표현은 오해의 소지가 있습니다 . 예를 들어 Calendar.JANUARY 의 값은 0

달력 필드 증가 / 감소

add()roll() 을 사용하여 Calendar 필드를 늘리거나 줄일 수 있습니다.

Calendar calendar = new GregorianCalendar(2016, Calendar.MARCH, 31); // 31 March 2016

add() 메서드는 모든 필드에 영향을주고 달력에서 실제 날짜를 더하거나 뺄 때 효과적입니다.

calendar.add(Calendar.MONTH, -6);

위의 작업으로 인해 캘린더에서 6 개월이 삭제되어 2015 년 9 월 30 일로 되돌아갑니다.

다른 필드에 영향을주지 않고 특정 필드를 변경하려면 roll() .

calendar.roll(Calendar.MONTH, -6);

위의 작업은 현재 에서 6 개월을 제거하므로 월은 9 월으로 식별됩니다. 다른 필드는 조정되지 않았습니다. 이 작업으로 인해 올해는 변경되지 않았습니다.

오전 / 오후 찾기

Calendar 클래스를 사용하면 AM 또는 PM을 쉽게 찾을 수 있습니다.

  Calendar cal = Calendar.getInstance();
  cal.setTime(new Date());
  if (cal.get(Calendar.AM_PM) == Calendar.PM)
      System.out.println("It is PM");

캘린더 빼기

2 개의 Calendar 의 차이를 취득하려면, getTimeInMillis() 메소드를 사용 getTimeInMillis() .

Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c2.set(Calendar.DATE, c2.get(Calendar.DATE) + 1);

System.out.println(c2.getTimeInMillis() - c1.getTimeInMillis()); //outputs 86400000 (24 * 60 * 60 * 1000)


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow