JavaTM Platform
Standard Ed. 6

java.util
클래스 Calendar

java.lang.Object 
  상위를 확장 java.util.Calendar
모든 구현된 인터페이스:
Serializable , Cloneable , Comparable <Calendar >
직계의 기존의 서브 클래스:
GregorianCalendar


public abstract class Calendar
extends Object
implements Serializable , Cloneable , Comparable <Calendar >

Calendar 클래스는, 특정의 시점과 YEAR,MONTH,DAY_OF_MONTH,HOUR 등의달력 필드 세트간의 변환, 및 다음 주의 일자의 취득등의 달력 필드 조작을 행하기 위한 추상 클래스입니다. 특정의 시점은, 1970 년 1 월 1 일 00:00:00. 000 GMT (태양력)를 「신기원」이라고 하는 밀리 세컨드 단위의 오프셋(offset)로 표현할 수 있습니다.

이 클래스는, 패키지 외부의 구상 달력 시스템을 구현하기 위한 추가 메소드 및 필드도 제공합니다. 이러한 필드 및 메소드는,protected 로서 정의됩니다.

로케일에 의존하는 것 외의 클래스와 같이,Calendar 에서는, 이런 종류의 일반적으로 도움이 되는 객체를 얻기 위한 클래스 메소드 getInstance 가 제공됩니다. CalendargetInstance 메소드는,Calendar 객체를 돌려줍니다만, 이 달력 필드는 현재의 일자와 시각에 초기화되고 있습니다.

     Calendar rightNow = Calendar.getInstance();
 

Calendar 객체에서는, 특정의 언어 및 달력 스타일 (일본의 태양력, 일본의 음력등)에 대해서, 일자와 시각의 포맷을 실시할 때 필요한 모든 달력 필드치를 생성할 수 있습니다. Calendar 에서는, 특정의 달력 필드와 그 의미의 양쪽 모두에 의해 반환되는 값의 범위가 정의됩니다. 예를 들어, 달력 시스템의 최초의 달에는, 모든 달력에 대해 값 MONTH == JANUARY 가 있습니다. 다른 값은,ERA 등의 구상 서브 클래스에서 정의됩니다. 자세한 것은, 개별의 필드 문서 및 서브 클래스 문서를 참조해 주세요.

달력 필드치의 취득과 설정

달력 필드치는,set 메소드를 호출해 설정할 수 있습니다. Calendar 내에서 설정된 필드치는 모두, 그 시간치 ( 「신기원」으로부터의 밀리 세컨드) 또는 달력 필드의 값을 계산할 필요가 생길 때까지 해석되지 않습니다. get,getTimeInMillis,getTime,add, 및 roll 의 호출에서는, 이런 종류의 계산을 합니다.

비엄밀성

Calendar 는, 달력 필드를 해석할 때, 「엄밀」 및 「비엄밀」의 2 개의 모드를 사용합니다. 비엄밀 모드의 경우,Calendar 는 그것 자신이 생성하는 값보다 광범위한 달력 필드치를 받아들입니다. Calendar 가,get() 의 값을 돌려주기 위해서(때문에) 달력 필드치를 재계산할 때, 모든 달력 필드가 정규화됩니다. 예를 들어, 비엄밀한 GregorianCalendar 는,MONTH == JANUARY,DAY_OF_MONTH == 32 를 2 월 1 일로서 해석합니다.

엄밀 모드의 경우, 달력 필드내에 불일치가 있으면(자),Calendar 는 예외를 throw 합니다. 예를 들어,GregorianCalendar 는,DAY_OF_MONTH 치로서 1 으로 그 달의 길이의 사이의 값을 항상 생성합니다. 엄밀한 GregorianCalendar 는, 시간 및 달력 필드치를 계산할 때, 범위외의 필드치가 설정되어 있으면(자) 예외를 throw 합니다.

최초의 주

Calendar 에서는, 주의 최초의 날 및 최초의 주의 최소 날짜 (1 에서 7)라고 하는 2 개의 파라미터를 사용해, 로케일 고유의 주 7 일이 정의됩니다. 이러한 수는,Calendar 가 구축될 때 로케일 resource data로부터 취득됩니다. 또, 이러한 값의 설정용 메소드에 의해 명시적으로 지정되는 일도 있습니다.

WEEK_OF_MONTH 필드나 WEEK_OF_YEAR 필드를 설정 또는 취득하면(자),Calendar 에서는 달 또는 해의 최초의 주를 참조점으로서 결정할 필요가 있습니다. 달 또는 해의 최초의 주는,getFirstDayOfWeek() 로 시작되어, 그 달 또는 해의 적어도 getMinimalDaysInFirstWeek() 의 날짜를 포함한, 가장 빠른 7 일간으로서 정의됩니다....,-1, 0 이라고 하는 번호를 붙일 수 있었던 주는, 최초의 주보다 전에 있습니다. 2, 3,... 그렇다고 하는 번호를 붙일 수 있었던 주는, 최초의 주부터 뒤에 있습니다. get() 에 의해 반환되는 정규화된 번호부란, 다른 경우가 있습니다. 예를 들어, 특정의 Calendar 서브 클래스에서는, 1 년의 주 1 의 전의 주를, 전년의 주 n 로서 지정하는 일이 있습니다.

달력 필드의 해결

달력 필드로부터 일자 및 시각을 계산할 때, 계산에 필요한 정보가 부족하다 (해와 달에만 날이 없는 등), 또는 정보에 일관성이 없는 경우 (예를 들어 「Tuesday, July 15, 1996 (Gregorian)」(이)라고 지정되고 있지만, 실제로는 July 15, 1996 은 Monday 인 등)이 있습니다. Calendar 는, 다음의 방법으로 달력 필드치를 해결해, 일자 및 시각을 판정합니다.

달력 필드치에 충돌이 존재하는 경우,Calendar 는 나중에 설정된 필드를 우선합니다. 다음에 나타내는 것은, 달력 필드의 디폴트의 편성입니다. 무엇보다 최근으로 설정된 필드에 의해 판정되는, 최신의 편성이 사용됩니다.

일자 필드의 경우 :

 YEAR + MONTH + DAY_OF_MONTH
 YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK
 YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK
 YEAR + DAY_OF_YEAR
 YEAR + DAY_OF_WEEK + WEEK_OF_YEAR
 
시각 필드의 경우 :
 HOUR_OF_DAY
 AM_PM + HOUR
 

선택한 필드의 편성으로 값이 설정되어 있지 않은 달력 필드가 존재하는 경우,Calendar 는 디폴트 값를 사용합니다. 각 필드의 디폴트 값는, 구상 달력 시스템에 의해 다릅니다. 예를 들어,GregorianCalendar 에서는, 필드의 디폴트는, 「신기원」의 시작과 같은 YEAR = 1970,MONTH = JANUARY,DAY_OF_MONTH = 1 등이 됩니다.

주: 일부의 특별한 시간으로는, 그 해석이 애매하게 될 수도 있습니다. 그 경우에는, 다음과 같이 해결됩니다.

  1. 23:59 (은)는 하루의 마지막 분으로,00:00 는 다음날의 최초의 분이 됩니다. 따라서, 1999 년 12 월 31 일 23:59 < 2000 년 1 월 1 일 00:00 < 2000 년 1 월 1 일 00:01 이 됩니다.
  2. 역사적으로 엄밀한 것은 아니지만, 한밤 중은 「am」에, 정오는 「pm」에 속한다. 따라서, 같은 날의 12:00 am (한밤 중) < 12:01 am, 및 12:00 pm (정오) < 12:01 pm

일자나 시각의 포맷 캐릭터 라인은, 달력의 정의의 일부에서는 없습니다. 이것들이 실행시에 사용자에 의해 수정 가능해, 오버라이드(override) 가능한 필요가 있기 (위해)때문에입니다. 일자를 포맷 하려면 ,DateFormat 를 사용해 주세요.

필드 조작

달력 필드는,set(),add(), 및 roll() 라고 하는 3 개의 메소드를 사용해 변경할 수 있습니다.

set(f, value) 에서는, 달력 필드 fvalue 로 변경됩니다. 게다가 필드 f 가 변경된 것을 나타내도록(듯이) 내부 멤버 변수가 설정됩니다. 달력 필드 f 는 즉시 변경됩니다만, 달력의 시간치 (밀리 세컨드)는,get(),getTime(),getTimeInMillis(),add(), 또는 roll() 가 다음에 불려 갈 때까지 재계산되지 않습니다. 이와 같이,set() 를 여러 차례 호출해도, 불필요한 계산을 할 것은 없습니다. set() 를 사용해 달력 필드를 변경하면(자), 달력 필드, 달력 필드치, 및 달력 시스템에 의해 다른 필드도 변경되는 일이 있습니다. 게다가get(f) 에서는, 달력 필드의 재계산 후에,set 메소드를 호출해 설정된 value 가 반드시 반환된다고는 할 수 없습니다. 이러한 자세한 것은, 구상 달력 클래스에 의해 결정됩니다.

:최초로 1999 년 8 월 31 일로 설정된 GregorianCalendar 를 생각합니다. set(Calendar.MONTH, Calendar.SEPTEMBER) 를 호출하면(자), 일자가 1999 년 9 월 31 일로 설정됩니다. 이것은 일시적인 내부 표현이며,getTime() 를 호출하면(자) 1999 년 10 월 1 일이 됩니다. 다만,getTime() 를 호출하기 전에 set(Calendar.DAY_OF_MONTH, 30) 를 호출하면(자),set() 자체의 후에 재계산을 하기 위해서(때문에), 일자가 1999 년 9 월 30 일로 설정됩니다.

add(f, delta) 에서는, 필드 fdelta 가 추가됩니다. 이것은, 2 개의 조정에 의해 set(f, get(f) + delta) 를 호출하는 것과 같습니다.

Add rule 1. The value of field f after the call minus the value of field f before the call is delta, modulo any overflow that has occurred in field f. Overflow occurs when a field value exceeds its range and, as a result, the next larger field is incremented or decremented and the field value is adjusted back into its range.

Add rule 2. If a smaller field is expected to be invariant, but it is impossible for it to be equal to its prior value because of changes in its minimum or maximum after field f is changed or other constraints, such as time zone offset changes, then its value is adjusted to be as close as possible to its expected value. A smaller field represents a smaller unit of time. HOUR is a smaller field than DAY_OF_MONTH. No adjustment is made to smaller fields that are not expected to be invariant. The calendar system determines what fields are expected to be invariant.

In addition, unlike set(), add() forces an immediate recomputation of the calendar's milliseconds and all fields.

Example: Consider a GregorianCalendar originally set to August 31, 1999. Calling add(Calendar.MONTH, 13) sets the calendar to September 30, 2000. Add rule 1 sets the MONTH field to September, since adding 13 months to August gives September of the next year. Since DAY_OF_MONTH cannot be 31 in September in a GregorianCalendar, add rule 2 sets the DAY_OF_MONTH to 30, the closest possible value. Although it is a smaller field, DAY_OF_WEEK is not adjusted by rule 2, since it is expected to change when the month changes in a GregorianCalendar.

roll(f, delta) adds delta to field f without changing larger fields. This is equivalent to calling add(f, delta) with the following adjustment:

Roll rule. Larger fields are unchanged after the call. A larger field represents a larger unit of time. DAY_OF_MONTH is a larger field than HOUR.

:GregorianCalendar.roll(int, int) 를 참조해 주세요.

사용법모델. add()roll() 의 동작을 동기마련 하기 위해서, 월, 일, 년, 및 기본이 되는 GregorianCalendar 의 증분 버튼과 감 분버튼이 있는 사용자 인터페이스 컴퍼넌트를 생각합니다. 인터페이스로 1999 년 1 월 31 일이 읽혀 사용자가 달증분 버튼을 누르면(자), 무엇이 읽힐까요. 기본이 되는 구현으로 set() 가 사용되는 경우는, 1999 년 3 월 3 일이 읽힙니다. 1999 년 2 월 28 일이 되는 편이 좋습니다만, 게다가 사용자가 달증분 버튼을 다시 눌렀을 경우는, 1999 년 3 월 28 일은 아니고 1999 년 3 월 31 일이 읽힐 필요가 있습니다. 원의 일자를 보존해, 큰 필드가 영향을 받을지 어떨지에 의해 add() 또는 roll() 를 사용하는 것으로, 사용자 인터페이스가 대부분의 사용자가 직관적으로 기대하는 대로 동작합니다.

도입된 버젼:
JDK1. 1
관련 항목:
System.currentTimeMillis() , Date , GregorianCalendar , TimeZone , DateFormat , 직렬화 된 형식

필드의 개요
static int ALL_STYLES
           「January」나 「Jan」등의 모든 스타일로 이름을 나타내는,getDisplayNames 의 스타일 지시자입니다.
static int AM
          한밤 중부터 정오의 전까지의 시간을 나타내는 AM_PM 필드의 값입니다.
static int AM_PM
          getset 를 위한 필드치로,HOUR 가 정오보다 전일까 나중에 있는지를 나타냅니다.
static int APRIL
          태양력과 율리우스력의 해의 4 번째의 달을 나타내는 MONTH 필드의 값입니다.
protected  boolean areFieldsSet
          fields[] 가 현재 설정되어 있을 때 각과 동기를 잡고 있는 경우는 true 입니다.
static int AUGUST
          태양력과 율리우스력의 해의 8 번째의 달을 나타내는 MONTH 필드의 값입니다.
static int DATE
          getset 를 위한 필드치로, 달의 날을 나타냅니다.
static int DAY_OF_MONTH
          getset 를 위한 필드치로, 달의 날을 나타냅니다.
static int DAY_OF_WEEK
          getset 를 위한 필드치로, 요일을 나타냅니다.
static int DAY_OF_WEEK_IN_MONTH
          getset 를 위한 필드치로, 현재의 달의 몇번눈의 요일인지를 나타냅니다.
static int DAY_OF_YEAR
          getset 를 위한 필드치로, 현재의 해의 며칠눈인지를 나타냅니다.
static int DECEMBER
          태양력과 율리우스력의 해의 12 번째의 달을 나타내는 MONTH 필드의 값입니다.
static int DST_OFFSET
          getset 를 위한 필드치로, 서머타임의 오프셋(offset)를 밀리 세컨드 단위로 가리킵니다.
static int ERA
          getset 를 위한 필드치로, 율리우스력의 AD 또는 BC 등의 연대를 나타냅니다.
static int FEBRUARY
          태양력과 율리우스력의 해의 2 번째의 달을 나타내는 MONTH 필드의 값입니다.
static int FIELD_COUNT
          getset 에 의해 식별되는 중복 하지 않는 필드의 수를 나타냅니다.
protected  int[] fields
          이 달력으로 현재 설정되어 있을 때 각에 대한 달력 필드치입니다.
static int FRIDAY
          금요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.
static int HOUR
          getset 를 위한 필드치로, 오전 또는 오후의 몇시인지를 나타냅니다.
static int HOUR_OF_DAY
          getset 를 위한 필드치로, 시각을 나타냅니다.
protected  boolean[] isSet
          지정된 달력 필드가 달력으로 설정되어 있는지 어떤지를 나타내는 플래그입니다.
protected  boolean isTimeSet
          time 의 값이 유효한 경우는 true 입니다.
static int JANUARY
          태양력과 율리우스력의 해의 최초의 달을 나타내는 MONTH 필드의 값입니다.
static int JULY
          태양력과 율리우스력의 해의 7 번째의 달을 나타내는 MONTH 필드의 값입니다.
static int JUNE
          태양력과 율리우스력의 해의 6 번째의 달을 나타내는 MONTH 필드의 값입니다.
static int LONG
           「January」와 같이 긴 이름을 나타내는 getDisplayNamegetDisplayNames 의 스타일 지시자입니다.
static int MARCH
          태양력과 율리우스력의 해의 3 번째의 달을 나타내는 MONTH 필드의 값입니다.
static int MAY
          태양력과 율리우스력의 해의 5 번째의 달을 나타내는 MONTH 필드의 값입니다.
static int MILLISECOND
          getset 를 위한 필드치로, 밀리 세컨드를 나타냅니다.
static int MINUTE
          getset 를 위한 필드치로, 분을 나타냅니다.
static int MONDAY
          월요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.
static int MONTH
          getset 를 위한, 달을 나타내는 필드치입니다.
static int NOVEMBER
          태양력과 율리우스력의 해의 11 번째의 달을 나타내는 MONTH 필드의 값입니다.
static int OCTOBER
          태양력과 율리우스력의 해의 10 번째의 달을 나타내는 MONTH 필드의 값입니다.
static int PM
          정오부터 한밤 중의 전까지의 시간을 나타내는 AM_PM 필드의 값입니다.
static int SATURDAY
          토요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.
static int SECOND
          getset 를 위한 필드치로, 초를 나타냅니다.
static int SEPTEMBER
          태양력과 율리우스력의 해의 9 번째의 달을 나타내는 MONTH 필드의 값입니다.
static int SHORT
           「Jan」와 같이 짧은 이름을 나타내는 getDisplayNamegetDisplayNames 의 스타일 지시자입니다.
static int SUNDAY
          일요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.
static int THURSDAY
          목요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.
protected  long time
          이 달력으로 현재 설정되어 있을 때 각입니다.
static int TUESDAY
          화요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.
static int UNDECIMBER
          13 번째의 달을 나타내는 MONTH 필드의 값입니다.
static int WEDNESDAY
          수요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.
static int WEEK_OF_MONTH
          getset 를 위한 필드치로, 현재의 달의 몇 주눈인지를 나타냅니다.
static int WEEK_OF_YEAR
          getset 를 위한 필드치로, 현재의 해의 몇 주눈인지를 나타냅니다.
static int YEAR
          getset 를 위한, 해를 나타내는 필드치입니다.
static int ZONE_OFFSET
          getset 를 위한 필드치로, GMT 로부터 직접 계산한 오프셋(offset)를 밀리 세컨드 단위로 가리킵니다.
 
생성자 의 개요
protected Calendar ()
          디폴트의 타임 존 및 로케일을 사용해 Calendar 를 작성합니다.
protected Calendar (TimeZone  zone, Locale  aLocale)
          지정된 타임 존 및 로케일을 사용해 달력을 작성합니다.
 
메소드의 개요
abstract  void add (int field, int amount)
          달력의 규칙에 근거해, 지정된 시간량이 지정된 달력 필드에 가산 또는 감산합니다.
 boolean after (Object  when)
          이 Calendar 가, 지정된 Object 가 나타낼 때 각보다 앞으로의 시각을 나타낼지 어떨지를 돌려줍니다.
 boolean before (Object  when)
          이 Calendar 가, 지정된 Object 가 나타낼 때 각보다 전의 시각을 나타낼지 어떨지를 돌려줍니다.
 void clear ()
          이 Calendar 의 모든 달력 필드치 및 시각치 (신기원으로부터의 밀리 세컨드 단위의 오프셋(offset))를 미정도리로 설정합니다.
 void clear (int field)
          이 Calendar 의 지정된 달력 필드치 및 시각치 (신기원으로부터의 밀리 세컨드 단위의 오프셋(offset))를 미정도리로 설정합니다.
 Object clone ()
          이 객체의 카피를 작성해, 돌려줍니다.
 int compareTo (Calendar  anotherCalendar)
          2 개의 Calendar 객체로 나타내질 때 각치 (신기원으로부터의 밀리 세컨드 단위의 오프셋(offset))를 비교합니다.
protected  void complete ()
          달력 필드의 미설정필드에 값을 입금시킵니다.
protected abstract  void computeFields ()
          현재의 밀리 세컨드의 시각치 timefields[] 의 달력 필드의 값으로 변환합니다.
protected abstract  void computeTime ()
          현재의 밀리 세컨드의 시각치 timefields[] 내의 달력 필드치로 변환합니다.
 boolean equals (Object  obj)
          이 Calendar 가 지정된 Object 와 비교합니다.
 int get (int field)
          지정된 달력 필드의 값을 돌려줍니다.
 int getActualMaximum (int field)
          이 Calendar 에 시간치를 지정한 특정의 달력 필드가 취할 수 있는 최대치를 돌려줍니다.
 int getActualMinimum (int field)
          이 Calendar 의 시간치를 지정한, 지정의 달력의 필드가 취할 수 있는 최소의 값을 돌려줍니다.
static Locale [] getAvailableLocales ()
          이 클래스의 getInstance 메소드가 로컬라이즈 된 인스턴스를 돌려줄 수 있는 로케일 모든 배열을 돌려줍니다.
 String getDisplayName (int field, int style, Locale  locale)
          지정된 stylelocale 의 달력 field 치의 캐릭터 라인 표현을 돌려줍니다.
 Map <String ,Integer > getDisplayNames (int field, int style, Locale  locale)
          지정된 stylelocale 의 달력 field 의 모든 이름과 거기에 대응하는 필드치를 포함한 Map 를 돌려줍니다.
 int getFirstDayOfWeek ()
          주의 최초의 날이 무엇으로 있는지를 가져옵니다.
abstract  int getGreatestMinimum (int field)
          이 Calender 인스턴스로 지정된 달력 필드의 최대 최소치를 돌려줍니다.
static Calendar getInstance ()
          디폴트의 타임 존 및 로케일을 사용해 달력을 가져옵니다.
static Calendar getInstance (Locale  aLocale)
          디폴트의 타임 존 및 지정된 로케일을 사용해 달력을 가져옵니다.
static Calendar getInstance (TimeZone  zone)
          지정된 타임 존 및 디폴트의 로케일을 사용해 달력을 가져옵니다.
static Calendar getInstance (TimeZone  zone, Locale  aLocale)
          지정된 타임 존 및 로케일을 사용해 달력을 가져옵니다.
abstract  int getLeastMaximum (int field)
          이 Calendar 인스턴스로 지정된 달력 필드의 최소 최대치를 돌려줍니다.
abstract  int getMaximum (int field)
          이 Calender 인스턴스로 지정된 달력 필드의 최대치를 돌려줍니다.
 int getMinimalDaysInFirstWeek ()
          해의 최초의 주에 필요한 최소 날짜를 가져옵니다.
abstract  int getMinimum (int field)
          이 Calender 인스턴스로 지정된 달력 필드의 최소치를 돌려줍니다.
 Date getTime ()
          이 Calendar 의 시각치 ( 「신기원」으로부터의 밀리 세컨드 단위의 오프셋(offset))를 나타내는 Date 객체를 돌려줍니다.
 long getTimeInMillis ()
          이 Calendar 의 시각치를 밀리 세컨드로 돌려줍니다.
 TimeZone getTimeZone ()
          타임 존을 가져옵니다.
 int hashCode ()
          이 달력의 해시 코드를 돌려줍니다.
protected  int internalGet (int field)
          지정된 달력 필드의 값을 돌려줍니다.
 boolean isLenient ()
          일자/시각의 해석이 엄밀하지 않은지 어떤지를 지정합니다.
 boolean isSet (int field)
          지정된 달력 필드가 값세트를 보관 유지할지 어떨지를 판정합니다.
abstract  void roll (int field, boolean up)
          큰 필드를 변경하지 않고 로 지정된 시간 필드의 1 개의 단위의 시간을 위 또는 아래에 가산 또는 감산합니다.
 void roll (int field, int amount)
          큰 필드를 변경하지 않고 , 지정된 (부호 첨부의) 양이 지정된 달력 필드에 가세합니다.
 void set (int field, int value)
          지정된 달력 필드가 지정된 값으로 설정합니다.
 void set (int year, int month, int date)
          달력 필드 YEAR,MONTH, 및 DAY_OF_MONTH 의 값을 설정합니다.
 void set (int year, int month, int date, int hourOfDay, int minute)
          달력 필드 YEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY, 및 MINUTE 의 값을 설정합니다.
 void set (int year, int month, int date, int hourOfDay, int minute, int second)
          필드 YEAR,MONTH,DAY_OF_MONTH,HOUR,MINUTE, 및 SECOND 의 값을 설정합니다.
 void setFirstDayOfWeek (int value)
          주의 최초의 날이 무엇으로 있는지를 설정합니다.
 void setLenient (boolean lenient)
          일자/시각의 해석을 엄밀하게 실시할지 어떨지를 설정합니다.
 void setMinimalDaysInFirstWeek (int value)
          해의 최초의 주에 필요한 최소 날짜를 설정합니다.
 void setTime (Date  date)
          이 Calendar 의 시간을, 지정된 Date 로 설정합니다.
 void setTimeInMillis (long millis)
          Calendar 의 현재 시각을, 지정된 long 치로부터 설정합니다.
 void setTimeZone (TimeZone  value)
          지정된 타임 존치를 사용해 타임 존을 설정합니다.
 String toString ()
          달력의 캐릭터 라인 표현을 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
finalize , getClass , notify , notifyAll , wait , wait , wait
 

필드의 상세

ERA

public static final int ERA
getset 를 위한 필드치로, 율리우스력의 AD 또는 BC 등의 연대를 나타냅니다. 이것은 달력 고유의 값입니다. 서브 클래스의 문서를 참조해 주세요.

관련 항목:
GregorianCalendar.AD , GregorianCalendar.BC , 정수 필드치

YEAR

public static final int YEAR
getset 를 위한, 해를 나타내는 필드치입니다. 이것은 달력 고유의 값입니다. 서브 클래스의 문서를 참조해 주세요.

관련 항목:
정수 필드치

MONTH

public static final int MONTH
getset 를 위한, 달을 나타내는 필드치입니다. 이것은 달력 고유의 값입니다. 태양력과 율리우스력의 해의 최초의 달은 JANUARY 로 , 0 이 됩니다. 마지막 달은, 1 년의 달의 수에 의합니다.

관련 항목:
JANUARY , FEBRUARY , MARCH , APRIL , MAY , JUNE , JULY , AUGUST , SEPTEMBER , OCTOBER , NOVEMBER , DECEMBER , UNDECIMBER , 정수 필드치

WEEK_OF_YEAR

public static final int WEEK_OF_YEAR
getset 를 위한 필드치로, 현재의 해의 몇 주눈인지를 나타냅니다. getFirstDayOfWeek()getMinimalDaysInFirstWeek() 로 정의되는 해의 최초의 주에는, 값 1 이 사용됩니다. 서브 클래스에서는, 해의 최초의 주부터 전날에 대해서 WEEK_OF_YEAR 의 값이 정의됩니다.

관련 항목:
getFirstDayOfWeek() , getMinimalDaysInFirstWeek() , 정수 필드치

WEEK_OF_MONTH

public static final int WEEK_OF_MONTH
getset 를 위한 필드치로, 현재의 달의 몇 주눈인지를 나타냅니다. getFirstDayOfWeek()getMinimalDaysInFirstWeek() 로 정의되는 달의 최초의 주에는, 값 1 이 사용됩니다. 서브 클래스에서는, 달의 최초의 주부터 전날에 대해서 WEEK_OF_MONTH 의 값이 정의됩니다.

관련 항목:
getFirstDayOfWeek() , getMinimalDaysInFirstWeek() , 정수 필드치

DATE

public static final int DATE
getset 를 위한 필드치로, 달의 날을 나타냅니다. 이것은 DAY_OF_MONTH 와 같게 됩니다. 달의 최초의 날에는, 값 1 이 사용됩니다.

관련 항목:
DAY_OF_MONTH , 정수 필드치

DAY_OF_MONTH

public static final int DAY_OF_MONTH
getset 를 위한 필드치로, 달의 날을 나타냅니다. 이것은 DATE 와 같게 됩니다. 달의 최초의 날에는, 값 1 이 사용됩니다.

관련 항목:
DATE , 정수 필드치

DAY_OF_YEAR

public static final int DAY_OF_YEAR
getset 를 위한 필드치로, 현재의 해의 며칠눈인지를 나타냅니다. 해의 최초의 날에는, 값 1 이 사용됩니다.

관련 항목:
정수 필드치

DAY_OF_WEEK

public static final int DAY_OF_WEEK
getset 를 위한 필드치로, 요일을 나타냅니다. 이 필드의 값은,SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY, 및 SATURDAY 가 됩니다.

관련 항목:
SUNDAY , MONDAY , TUESDAY , WEDNESDAY , THURSDAY , FRIDAY , SATURDAY , 정수 필드치

DAY_OF_WEEK_IN_MONTH

public static final int DAY_OF_WEEK_IN_MONTH
getset 를 위한 필드치로, 현재의 달의 몇번눈의 요일인지를 나타냅니다. DAY_OF_WEEK 필드와 함께 사용하면(자), 달의 날을 일의로 지정할 수 있습니다. WEEK_OF_MONTHWEEK_OF_YEAR 과는 달리, 이 필드의 값은 getFirstDayOfWeek() 또는 getMinimalDaysInFirstWeek() 에는 의존하지 않습니다. DAY_OF_MONTH 1 에서 7 은, 항상 DAY_OF_WEEK_IN_MONTH 1 에 대응합니다. 8 에서 14 는,DAY_OF_WEEK_IN_MONTH 2 에 대응해, 이하와 같이 됩니다. DAY_OF_WEEK_IN_MONTH 0 은,DAY_OF_WEEK_IN_MONTH 1 의 전의 주를 나타냅니다. 0 보다 작은 값은 월말부터 거슬러 올라가 셀 수 있기 (위해)때문에, 달의 마지막 날 요일은,DAY_OF_WEEK = SUNDAY, DAY_OF_WEEK_IN_MONTH = -1 와 지정됩니다. 0 보다 작은 값은 거슬러 올라가 계산되기 (위해)때문에, 일반적으로은 당월내의 정의 값과는 다른 위치에 배치됩니다. 예를 들어, 1 개월이 31 일의 경우,DAY_OF_WEEK_IN_MONTH -1DAY_OF_WEEK_IN_MONTH 54 의 최후와 오버랩 합니다.

관련 항목:
DAY_OF_WEEK , WEEK_OF_MONTH , 정수 필드치

AM_PM

public static final int AM_PM
getset 를 위한 필드치로,HOUR 가 정오보다 전일까 나중에 있는지를 나타냅니다. 예를 들어,10:04:15. 250 PM 의 경우,AM_PMPM 가 됩니다.

관련 항목:
AM , PM , HOUR , 정수 필드치

HOUR

public static final int HOUR
getset 를 위한 필드치로, 오전 또는 오후의 몇시인지를 나타냅니다. HOUR 는 12 시간제 (0 ~ 11)입니다. 정오 및 한밤 중은, 12 는 아니고 0 으로 나타내집니다. 예를 들어,10:04:15. 250 PM 의 경우,HOUR 는 10 이 됩니다.

관련 항목:
AM_PM , HOUR_OF_DAY , 정수 필드치

HOUR_OF_DAY

public static final int HOUR_OF_DAY
getset 를 위한 필드치로, 시각을 나타냅니다. HOUR_OF_DAY 는 24 시간제입니다. 예를 들어,10:04:15. 250 PM 의 경우,HOUR_OF_DAY 는 22 가 됩니다.

관련 항목:
HOUR , 정수 필드치

MINUTE

public static final int MINUTE
getset 를 위한 필드치로, 분을 나타냅니다. 예를 들어,10:04:15. 250 PM 의 경우,MINUTE 는 4 가 됩니다.

관련 항목:
정수 필드치

SECOND

public static final int SECOND
getset 를 위한 필드치로, 초를 나타냅니다. 예를 들어,10:04:15. 250 PM 의 경우,SECOND 는 15 가 됩니다.

관련 항목:
정수 필드치

MILLISECOND

public static final int MILLISECOND
getset 를 위한 필드치로, 밀리 세컨드를 나타냅니다. 예를 들어,10:04:15. 250 PM 의 경우,MILLISECOND 는 250 이 됩니다.

관련 항목:
정수 필드치

ZONE_OFFSET

public static final int ZONE_OFFSET
getset 를 위한 필드치로, GMT 로부터 직접 계산한 오프셋(offset)를 밀리 세컨드 단위로 가리킵니다.  

TimeZone 구현 서브 클래스가, GMT 오프셋(offset)의 역사적 변화를 지원하는 경우, 이 필드는 이 Calendar 의 타임 존의 정확한 GMT 오프셋(offset)치를 반영합니다.

관련 항목:
정수 필드치

DST_OFFSET

public static final int DST_OFFSET
getset 를 위한 필드치로, 서머타임의 오프셋(offset)를 밀리 세컨드 단위로 가리킵니다.  

TimeZone 구현 서브 클래스가, 서머타임의 스케줄의 역사적 변화를 지원하는 경우, 이 필드는 이 Calendar 의 타임 존의 정확한 서머타임의 오프셋(offset)치를 반영합니다.

관련 항목:
정수 필드치

FIELD_COUNT

public static final int FIELD_COUNT
getset 에 의해 식별되는 중복 하지 않는 필드의 수를 나타냅니다. 필드수의 범위는 0..FIELD_COUNT-1 입니다.

관련 항목:
정수 필드치

SUNDAY

public static final int SUNDAY
일요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.

관련 항목:
정수 필드치

MONDAY

public static final int MONDAY
월요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.

관련 항목:
정수 필드치

TUESDAY

public static final int TUESDAY
화요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.

관련 항목:
정수 필드치

WEDNESDAY

public static final int WEDNESDAY
수요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.

관련 항목:
정수 필드치

THURSDAY

public static final int THURSDAY
목요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.

관련 항목:
정수 필드치

FRIDAY

public static final int FRIDAY
금요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.

관련 항목:
정수 필드치

SATURDAY

public static final int SATURDAY
토요일을 나타내는 DAY_OF_WEEK 필드의 값입니다.

관련 항목:
정수 필드치

JANUARY

public static final int JANUARY
태양력과 율리우스력의 해의 최초의 달을 나타내는 MONTH 필드의 값입니다.

관련 항목:
정수 필드치

FEBRUARY

public static final int FEBRUARY
태양력과 율리우스력의 해의 2 번째의 달을 나타내는 MONTH 필드의 값입니다.

관련 항목:
정수 필드치

MARCH

public static final int MARCH
태양력과 율리우스력의 해의 3 번째의 달을 나타내는 MONTH 필드의 값입니다.

관련 항목:
정수 필드치

APRIL

public static final int APRIL
태양력과 율리우스력의 해의 4 번째의 달을 나타내는 MONTH 필드의 값입니다.

관련 항목:
정수 필드치

MAY

public static final int MAY
태양력과 율리우스력의 해의 5 번째의 달을 나타내는 MONTH 필드의 값입니다.

관련 항목:
정수 필드치

JUNE

public static final int JUNE
태양력과 율리우스력의 해의 6 번째의 달을 나타내는 MONTH 필드의 값입니다.

관련 항목:
정수 필드치

JULY

public static final int JULY
태양력과 율리우스력의 해의 7 번째의 달을 나타내는 MONTH 필드의 값입니다.

관련 항목:
정수 필드치

AUGUST

public static final int AUGUST
태양력과 율리우스력의 해의 8 번째의 달을 나타내는 MONTH 필드의 값입니다.

관련 항목:
정수 필드치

SEPTEMBER

public static final int SEPTEMBER
태양력과 율리우스력의 해의 9 번째의 달을 나타내는 MONTH 필드의 값입니다.

관련 항목:
정수 필드치

OCTOBER

public static final int OCTOBER
태양력과 율리우스력의 해의 10 번째의 달을 나타내는 MONTH 필드의 값입니다.

관련 항목:
정수 필드치

NOVEMBER

public static final int NOVEMBER
태양력과 율리우스력의 해의 11 번째의 달을 나타내는 MONTH 필드의 값입니다.

관련 항목:
정수 필드치

DECEMBER

public static final int DECEMBER
태양력과 율리우스력의 해의 12 번째의 달을 나타내는 MONTH 필드의 값입니다.

관련 항목:
정수 필드치

UNDECIMBER

public static final int UNDECIMBER
13 번째의 달을 나타내는 MONTH 필드의 값입니다. GregorianCalendar 에서는 이 값은 사용하지 않습니다만, 음력에 사용합니다.

관련 항목:
정수 필드치

AM

public static final int AM
한밤 중부터 정오의 전까지의 시간을 나타내는 AM_PM 필드의 값입니다.

관련 항목:
정수 필드치

PM

public static final int PM
정오부터 한밤 중의 전까지의 시간을 나타내는 AM_PM 필드의 값입니다.

관련 항목:
정수 필드치

ALL_STYLES

public static final int ALL_STYLES
「January」나 「Jan」등의 모든 스타일로 이름을 나타내는,getDisplayNames 의 스타일 지시자입니다.

도입된 버젼:
1.6
관련 항목:
SHORT , LONG , 정수 필드치

SHORT

public static final int SHORT
「Jan」와 같이 짧은 이름을 나타내는 getDisplayNamegetDisplayNames 의 스타일 지시자입니다.

도입된 버젼:
1.6
관련 항목:
LONG , 정수 필드치

LONG

public static final int LONG
「January」와 같이 긴 이름을 나타내는 getDisplayNamegetDisplayNames 의 스타일 지시자입니다.

도입된 버젼:
1.6
관련 항목:
SHORT , 정수 필드치

fields

protected int[] fields
이 달력으로 현재 설정되어 있을 때 각에 대한 달력 필드치입니다. 이것은, 인덱스치 ERA 로부터 DST_OFFSET 까지의,FIELD_COUNT 정수치의 배열입니다.


isSet

protected boolean[] isSet
지정된 달력 필드가 달력으로 설정되어 있는지 어떤지를 나타내는 플래그입니다. 새로운 객체에는 설정되어 있는 필드는 없습니다. 필드를 생성하는 메소드를 최초로 호출한 뒤, 모든 필드는 설정된 채로 있습니다. 이것은, 인덱스치 ERA 로부터 DST_OFFSET 까지의,FIELD_COUNT boolean 치의 배열입니다. 이 달력으로 현재 설정되어 있을 때 각입니다.


time

protected long time
이 달력으로 현재 설정되어 있을 때 각입니다. 1970 년 1 월 1 일 0:00:00 (그리니지 표준시)부터의 경과 밀리 세컨드수로 나타내집니다.

관련 항목:
isTimeSet

isTimeSet

protected boolean isTimeSet
time 의 값이 유효한 경우는 true 입니다. field[] 의 항목을 변경하는 것으로, time 는 무효가 됩니다.

관련 항목:
time

areFieldsSet

protected boolean areFieldsSet
fields[] 가 현재 설정되어 있을 때 각과 동기를 잡고 있는 경우는 true 입니다. false 의 경우는, 다음에 필드의 값을 취득하려고 했을 때에,time 의 현재가로부터의 모든 필드가 재계산됩니다.

생성자 의 상세

Calendar

protected Calendar()
디폴트의 타임 존 및 로케일을 사용해 Calendar 를 작성합니다.

관련 항목:
TimeZone.getDefault()

Calendar

protected Calendar(TimeZone  zone,
                   Locale  aLocale)
지정된 타임 존 및 로케일을 사용해 달력을 작성합니다.

파라미터:
zone - 사용하는 타임 존
aLocale - 주의 데이터에 사용하는 로케일
메소드의 상세

getInstance

public static Calendar  getInstance()
디폴트의 타임 존 및 로케일을 사용해 달력을 가져옵니다. 반환된 Calendar 는, 디폴트 로케일을 가지는 디폴트 타임 존의 현재 시각에 근거하고 있습니다.

반환값:
Calendar

getInstance

public static Calendar  getInstance(TimeZone  zone)
지정된 타임 존 및 디폴트의 로케일을 사용해 달력을 가져옵니다. 반환된 Calendar 는, 디폴트 로케일을 가지는 디폴트 타임 존의 현재 시각에 근거하고 있습니다.

파라미터:
zone - 사용하는 타임 존
반환값:
Calendar

getInstance

public static Calendar  getInstance(Locale  aLocale)
디폴트의 타임 존 및 지정된 로케일을 사용해 달력을 가져옵니다. 반환된 Calendar 는, 디폴트 로케일을 가지는 지정된 타임 존의 현재 시각에 근거하고 있습니다.

파라미터:
aLocale - 주의 데이터에 사용하는 로케일
반환값:
Calendar

getInstance

public static Calendar  getInstance(TimeZone  zone,
                                   Locale  aLocale)
지정된 타임 존 및 로케일을 사용해 달력을 가져옵니다. 반환된 Calendar 는, 지정된 로케일을 가지는 디폴트의 타임 존의 현재 시각에 근거하고 있습니다.

파라미터:
zone - 사용하는 타임 존
aLocale - 주의 데이터에 사용하는 로케일
반환값:
Calendar

getAvailableLocales

public static Locale [] getAvailableLocales()
이 클래스의 getInstance 메소드가 로컬라이즈 된 인스턴스를 돌려줄 수 있는 로케일 모든 배열을 돌려줍니다. 반환되는 배열에는,Locale.US 와 등가인 Locale 인스턴스가 적어도 1 개(살) 포함되어 있을 필요가 있습니다.

반환값:
로컬라이즈 된 Calendar 인스턴스를 사용 가능한 로케일의 배열

computeTime

protected abstract void computeTime()
현재의 밀리 세컨드의 시각치 timefields[] 내의 달력 필드치로 변환합니다.

관련 항목:
complete() , computeFields()

computeFields

protected abstract void computeFields()
현재의 밀리 세컨드의 시각치 timefields[] 의 달력 필드의 값으로 변환합니다. 이것에 의해, 달력 필드의 값을, 달력으로 설정되어 있는 새로운 시각과 동기 시킬 수가 있습니다. time 는 최초로 재계산되지 않습니다. time 를 재계산하고 나서 필드를 재계산하려면 ,complete() 메소드를 호출합니다.

관련 항목:
computeTime()

getTime

public final Date  getTime()
Calendar 의 시각치 ( 「신기원」으로부터의 밀리 세컨드 단위의 오프셋(offset))를 나타내는 Date 객체를 돌려줍니다.

반환값:
시각치를 나타내는 Date
관련 항목:
setTime(Date) , getTimeInMillis()

setTime

public final void setTime(Date  date)
이 Calendar 의 시간을, 지정된 Date 로 설정합니다.  

주:Date(Long.MAX_VALUE) 또는 Date(Long.MIN_VALUE)setTime() 를 호출하면(자),get() 로부터 부정확한 필드치가 생기는 일이 있습니다.

파라미터:
date - 지정된 Date
관련 항목:
getTime() , setTimeInMillis(long)

getTimeInMillis

public long getTimeInMillis()
이 Calendar 의 시각치를 밀리 세컨드로 돌려줍니다.

반환값:
신기원으로부터의 UTC 밀리 세컨드치로 나타내지는 현재 시각
관련 항목:
getTime() , setTimeInMillis(long)

setTimeInMillis

public void setTimeInMillis(long millis)
Calendar 의 현재 시각을, 지정된 long 치로부터 설정합니다.

파라미터:
millis - 신기원으로부터의 UTC 밀리 세컨드치로 나타내지는 새로운 시각
관련 항목:
setTime(Date) , getTimeInMillis()

get

public int get(int field)
지정된 달력 필드의 값을 돌려줍니다. 비엄밀 모드에서는, 모든 달력 필드가 정규화됩니다. 엄밀 모드에서는, 모든 달력 필드가 검증되어 달력 필드가 범위외의 값을 보관 유지하는 경우에는 이 메소드에 의해 예외가 throw 됩니다. 정규화 및 검증은,complete() 메소드에 의해 처리됩니다. 이 처리는, 달력 시스템에 의해 다릅니다.

파라미터:
field - 지정된 달력 필드
반환값:
지정된 달력 필드의 값
예외:
ArrayIndexOutOfBoundsException - 지정된 필드가 범위외의 경우 (field < 0 || field >= FIELD_COUNT)
관련 항목:
set(int, int) , complete()

internalGet

protected final int internalGet(int field)
지정된 달력 필드의 값을 돌려줍니다. 이 메소드에는, 필드치의 정규화나 검증은 포함되지 않습니다.

파라미터:
field - 지정된 달력 필드
반환값:
지정된 달력 필드의 값
관련 항목:
get(int)

set

public void set(int field,
                int value)
지정된 달력 필드가 지정된 값으로 설정합니다. 모드가 엄밀/비엄밀한가에 관계없이, 이 메소드가 값을 해석할 것은 없습니다.

파라미터:
field - 지정된 달력 필드
value - 지정된 달력 필드로 설정하는 값
예외:
ArrayIndexOutOfBoundsException - 엄밀성 모드로, 지정된 필드가 범위외의 경우 (field < 0 || field >= FIELD_COUNT)
관련 항목:
set(int, int, int) , set(int, int, int, int, int) , set(int, int, int, int, int, int) , get(int)

set

public final void set(int year,
                      int month,
                      int date)
달력 필드 YEAR,MONTH, 및 DAY_OF_MONTH 의 값을 설정합니다. 다른 달력 필드의 이전의 값은 보관 유지됩니다. 보관 유지되지 않게 하는 경우는, 최초로 clear() 를 호출합니다.

파라미터:
year - YEAR 달력 필드의 설정에 사용하는 값
month - MONTH 달력 필드의 설정에 사용하는 값. Month 치는 0 으로부터 시작되는 (1 월은 0 이 된다)
date - DAY_OF_MONTH 달력 필드의 설정에 사용하는 값
관련 항목:
set(int, int) , set(int, int, int, int, int) , set(int, int, int, int, int, int)

set

public final void set(int year,
                      int month,
                      int date,
                      int hourOfDay,
                      int minute)
달력 필드 YEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY, 및 MINUTE 의 값을 설정합니다. 다른 필드의 이전의 값은 보관 유지됩니다. 보관 유지되지 않게 하는 경우는, 최초로 clear() 를 호출합니다.

파라미터:
year - YEAR 달력 필드의 설정에 사용하는 값
month - MONTH 달력 필드의 설정에 사용하는 값. Month 치는 0 으로부터 시작되는 (1 월은 0 이 된다)
date - DAY_OF_MONTH 달력 필드의 설정에 사용하는 값
hourOfDay - HOUR_OF_DAY 달력 필드의 설정에 사용하는 값
minute - MINUTE 달력 필드의 설정에 사용하는 값
관련 항목:
set(int, int) , set(int, int, int) , set(int, int, int, int, int, int)

set

public final void set(int year,
                      int month,
                      int date,
                      int hourOfDay,
                      int minute,
                      int second)
필드 YEAR,MONTH,DAY_OF_MONTH,HOUR,MINUTE, 및 SECOND 의 값을 설정합니다. 다른 필드의 이전의 값은 보관 유지됩니다. 보관 유지되지 않게 하는 경우는, 최초로 clear() 를 호출합니다.

파라미터:
year - YEAR 달력 필드의 설정에 사용하는 값
month - MONTH 달력 필드의 설정에 사용하는 값. Month 치는 0 으로부터 시작되는 (1 월은 0 이 된다)
date - DAY_OF_MONTH 달력 필드의 설정에 사용하는 값
hourOfDay - HOUR_OF_DAY 달력 필드의 설정에 사용하는 값
minute - MINUTE 달력 필드의 설정에 사용하는 값
second - SECOND 달력 필드의 설정에 사용하는 값
관련 항목:
set(int, int) , set(int, int, int) , set(int, int, int, int, int)

clear

public final void clear()
Calendar 의 모든 달력 필드치 및 시각치 (신기원으로부터의 밀리 세컨드 단위의 오프셋(offset))를 미정도리로 설정합니다. 이것은,isSet() 가 모든 달력 필드에서 false 를 돌려주어, 일자 및 시각 계산으로 필드가 지금까지 설정되었던 적이 없는 것처럼 처리되는 것을 의미합니다. Calendar 구현 클래스는, 고유의 디폴트 필드치를 일자/시각 계산에 사용할 수 있습니다. 예를 들어,YEAR 필드치가 미정도리의 경우,GregorianCalendar 는 1970 을 사용합니다.

관련 항목:
clear(int)

clear

public final void clear(int field)
Calendar 의 지정된 달력 필드치 및 시각치 (신기원으로부터의 밀리 세컨드 단위의 오프셋(offset))를 미정도리로 설정합니다. 이것은,isSet(field)false 를 돌려주는 것, 및 일자와 시각 계산으로 필드가 지금까지 설정되었던 적이 없는 것처럼 처리되는 것을 의미합니다. Calendar 구현 클래스는, 일자 및 시각 계산에 필드 고유의 디폴트 값를 사용할 수 있습니다.

HOUR_OF_DAY ,HOUR , 및 AM_PM 필드는 각각 별개에 처리되어시간의 해결 규칙이 적용됩니다. 필드의 어느쪽이든을 클리어 해도, 이 Calendar 의 「때」는 리셋 되지 않습니다. 「때」의 값을 리셋 하려면 ,set(Calendar.HOUR_OF_DAY, 0) 를 사용합니다.

파라미터:
field - 클리어 하는 달력 필드
관련 항목:
clear()

isSet

public final boolean isSet(int field)
지정된 달력 필드가 값세트를 보관 유지할지 어떨지를 판정합니다. get 메소드 호출에 의해 트리거된 내부 필드 계산으로 값이 설정되었을 경우도, 값세트를 보관 유지한다고 보입니다.

반환값:
지정된 달력 필드가 값세트를 보관 유지하는 경우는 true, 그렇지 않은 경우는 false

getDisplayName

public String  getDisplayName(int field,
                             int style,
                             Locale  locale)
지정된 stylelocale 의 달력 field 치의 캐릭터 라인 표현을 돌려줍니다. 적용할 수 있는 캐릭터 라인 표현이 없는 경우는,null 가 돌려주어집니다. 이 메소드는, 캐릭터 라인 표현이 지정된 달력 field 에 적용 가능한 경우에,get(field) 를 호출해 달력 field 치를 가져옵니다.

예를 들어, 이 CalendarGregorianCalendar 이며, 그 일자가 2005-01-01 의 경우,MONTH 필드의 캐릭터 라인 표현은, 영어 로케일의 긴 스타일에서는 「January」가 되어, 짧은 스타일에서는 「Jan」가 됩니다. 다만,DAY_OF_MONTH 필드에서는 캐릭터 라인 표현을 사용하지 못하고, 이 메소드는 null 를 돌려줍니다.

디폴트의 구현은,DateFormatSymbols 에 특정의 locale 의 이름이 포함되는 달력 필드를 지원합니다.

파라미터:
field - 캐릭터 라인 표현이 반환되는 달력 필드
style - 캐릭터 라인 표현에 적용되는 스타일. SHORTLONG 의 어느쪽이든
locale - 캐릭터 라인 표현의 로케일
반환값:
지정된 style 의 지정된 field 의 캐릭터 라인 표현. 적용할 수 있는 캐릭터 라인 표현이 없는 경우는,null
예외:
IllegalArgumentException - field 또는 style 가 무효인 경우, 또는 이 Calendar 가 엄밀 모드로, 달력 필드의 어느 쪽인가에 무효인 값이 포함되어 있는 경우
NullPointerException - locale 가 null 의 경우
도입된 버젼:
1.6

getDisplayNames

public Map <String ,Integer > getDisplayNames(int field,
                                           int style,
                                           Locale  locale)
지정된 stylelocale 의 달력 field 의 모든 이름과 거기에 대응하는 필드치를 포함한 Map 를 돌려줍니다. 예를 들어, 이 CalendarGregorianCalendar 의 경우, 반환되는 맵에는, 영어 로케일의짧은 스타일에서는,JANUARY 에 대한 「Jan」,FEBRUARY 에 대한 「Feb」등이 포함됩니다.

그 외의 달력 필드의 값이, 표시명세트를 결정할 때 고려되는 일이 있습니다. 예를 들어, 이 Calendar 가 태음 태양력 시스템이며,YEAR 필드에 의해 지정되는 해의 값월이 있는 경우, 이 메소드월의 이름을 포함한 달의 이름을 돌려주어, 달의 이름은 그 해에 고유의 값에 맵 됩니다.

디폴트 구현은,DateFormatSymbols 에 포함되는 표시명을 지원합니다. 예를 들어,fieldMONTHstyleALL_STYLES 의 경우, 이 메소드는,DateFormatSymbols.getShortMonths()DateFormatSymbols.getMonths() 에 의해 반환되는 모든 캐릭터 라인을 포함한 Map 를 돌려줍니다.

파라미터:
field - 표시명이 반환되는 달력 필드
style - 표시명에 적용되는 스타일. SHORT ,LONG ,ALL_STYLES 의 어느쪽이든
locale - 표시명의 로케일
반환값:
stylelocale 의 모든 표시명과 그러한 필드치를 포함한 Map. field 에 표시명이 정의되어 있지 않은 경우는,null
예외:
IllegalArgumentException - field 또는 style 가 무효인 경우, 또는 이 Calendar 가 엄밀 모드로, 달력 필드의 어느 쪽인가에 무효인 값이 포함되어 있는 경우
NullPointerException - locale 가 null 의 경우
도입된 버젼:
1.6

complete

protected void complete()
달력 필드의 미설정필드에 값을 입금시킵니다. 달력 필드치로부터 시각치 (신기원으로부터의 밀리 세컨드 단위의 오프셋(offset))가 계산되어 있지 않은 경우, 최초로 computeTime() 메소드가 불려 갑니다. 다음에,computeFields() 메소드가 불려 가, 모든 달력 필드치가 계산됩니다.


equals

public boolean equals(Object  obj)
Calendar 가 지정된 Object 와 비교합니다. 인수가, 이 객체와 같은 Calendar 파라미터의 같은 시각치 (신기원으로부터의 밀리 세컨드 단위의 오프셋(offset))를 나타내는 같은 달력 시스템의 Calendar 객체인 경우에게만, 결과는 true 가 됩니다.

Calendar 파라미터는,isLenient,getFirstDayOfWeek,getMinimalDaysInFirstWeek, 및 getTimeZone 메소드에 의해 표현되는 값입니다. 2 개의 Calendar 간의 파라미터에 상위가 있는 경우, 이 메소드는 false 를 돌려줍니다.

시각치만을 비교하는 경우는,compareTo 메소드를 사용합니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - 비교 대상의 객체
반환값:
이 객체가 obj 와 동일한 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
이 달력의 해시 코드를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
이 객체의 해시 코드값
도입된 버젼:
1.2
관련 항목:
Object.equals(java.lang.Object) , Hashtable

before

public boolean before(Object  when)
Calendar 가, 지정된 Object 가 나타낼 때 각보다 전의 시각을 나타낼지 어떨지를 돌려줍니다. 이 메소드는, 다음과 동등합니다.
compareTo(when) < 0
등가가 되는 것은,whenCalendar 인스턴스인 경우만입니다. 그렇지 않은 경우, 이 메소드는 false 를 돌려줍니다.

파라미터:
when - 비교 대상의 Object
반환값:
Calendar 의 시각이 when 로 나타내질 때 각보다 전의 경우는 true, 그렇지 않은 경우는 false
관련 항목:
compareTo(Calendar)

after

public boolean after(Object  when)
Calendar 가, 지정된 Object 가 나타낼 때 각보다 앞으로의 시각을 나타낼지 어떨지를 돌려줍니다. 이 메소드는, 다음과 동등합니다.
compareTo(when) > 0
등가가 되는 것은,whenCalendar 인스턴스인 경우만입니다. 그렇지 않은 경우, 이 메소드는 false 를 돌려줍니다.

파라미터:
when - 비교 대상의 Object
반환값:
Calendar 의 시각이 when 로 나타내질 때 각보다 후의 경우는 true, 그렇지 않은 경우는 false
관련 항목:
compareTo(Calendar)

compareTo

public int compareTo(Calendar  anotherCalendar)
2 개의 Calendar 객체로 나타내질 때 각치 (신기원으로부터의 밀리 세컨드 단위의 오프셋(offset))를 비교합니다.

정의:
인터페이스 Comparable <Calendar > 내의 compareTo
파라미터:
anotherCalendar - 비교 대상의 Calendar
반환값:
인수로 나타내질 때 각이 이 Calendar 가 나타낼 때 각과 동일한 경우의 값은 0. 이 Calendar 의 시각이 인수로 나타내질 때 각보다 전의 경우는 0 미만의 값. 이 Calendar 의 시각이 인수로 나타내질 때 각보다 나머지의 경우는,0 보다 큰 값
예외:
NullPointerException - 지정된 Calendarnull 의 경우
IllegalArgumentException - 달력치가 무효인 모아 두어 지정된 Calendar 객체의 시각치를 취득할 수 없는 경우
도입된 버젼:
1.5

add

public abstract void add(int field,
                         int amount)
달력의 규칙에 근거해, 지정된 시간량이 지정된 달력 필드에 가산 또는 감산합니다. 예를 들어, 달력의 현재 시각부터 5 일을 당기는 경우는, 다음의 호출을 실행합니다.  

add(Calendar.DAY_OF_MONTH, -5)

파라미터:
field - 달력 필드
amount - 필드에 추가되는 일자 또는 시각의 양
관련 항목:
roll(int, int) , set(int, int)

roll

public abstract void roll(int field,
                          boolean up)
큰 필드를 변경하지 않고 로 지정된 시간 필드의 1 개의 단위의 시간을 위 또는 아래에 가산 또는 감산합니다. 예를 들어, 현재의 일자를 1 일만 위에 움직이려면 , 다음과 같이 roll 메소드를 호출합니다.  

roll(Calendar.DATE, true). 해 또는 Calendar.YEAR 필드를 움직이면(자), 해의 값은, 1 으로 getMaximum(Calendar.YEAR) 로 반환되는 값의 범위의 해로 바뀝니다. 달 또는 Calendar.MONTH 필드를 움직이면(자), 일자등의 다른 필드가 모순을 일으키는 경우가 있으므로, 그 경우는 그러한 필드를 변경할 필요가 있습니다. 예를 들어, 일자 01/31/96 의 달을 움직이면(자), 결과는 02/29/96 됩니다. 날의 시간 또는 Calendar.HOUR_OF_DAY 필드를 움직이면(자), 때의 값은, 0 으로 23 의 범위의 값 (제로 베이스)으로 바뀝니다.

파라미터:
field - 시간 필드
up - 지정된 시간 필드의 값을 위에 움직이는지, 아래에 움직이는지를 지정한다. 위에 움직이는 경우는 true, 그렇지 않은 경우는 false 를 사용하는
관련 항목:
add(int, int) , set(int, int)

roll

public void roll(int field,
                 int amount)
큰 필드를 변경하지 않고 , 지정된 (부호 첨부의) 양이 지정된 달력 필드에 가세합니다. 부의 양은 아래에 롤링 하는 것을 의미합니다.

주:Calendar 에 대한 이 디폴트 구현은, 1단위만 롤링 하는 roll() 의 버젼을 반복해 호출합니다. 이것은 항상 적절히 동작한다고는 할 수 없습니다. 예를 들어,DAY_OF_MONTH 필드가 31 의 경우, 2 월을 롤링 하면(자), 그 필드를 28 으로 설정한 채로 합니다. 이 기능의 GregorianCalendar 버젼은 이 문제에 대응하고 있습니다. 다른 서브 클래스에서는 이 기능의 무효화도 제공할 필요가 있어, 이것은 적절한 동작입니다.

파라미터:
field - 달력 필드
amount - 달력 field 에 추가하는 지정된 양
도입된 버젼:
1.2
관련 항목:
roll(int, boolean) , add(int, int) , set(int, int)

setTimeZone

public void setTimeZone(TimeZone  value)
지정된 타임 존치를 사용해 타임 존을 설정합니다.

파라미터:
value - 지정된 타임 존

getTimeZone

public TimeZone  getTimeZone()
타임 존을 가져옵니다.

반환값:
달력에 관련한 타임 존 객체

setLenient

public void setLenient(boolean lenient)
일자/시각의 해석을 엄밀하게 실시할지 어떨지를 설정합니다. 엄밀하지 않은 해석에서는, 「1996 년 2 월 942 일」과 같은 일자는, 1996 년 2 월 1 일부터 제 941 일째와 같은 것으로 간주해집니다. 엄밀한 해석에서는, 이러한 일자의 경우, 예외가 throw 됩니다. 디폴트는 비엄밀합니다.

파라미터:
lenient - 비엄밀 모드가 온의 경우는 true, 그렇지 않은 경우는 false
관련 항목:
isLenient() , DateFormat.setLenient(boolean)

isLenient

public boolean isLenient()
일자/시각의 해석이 엄밀하지 않은지 어떤지를 지정합니다.

반환값:
이 달력의 해석 모드가 비엄밀의 경우는 true, 그렇지 않은 경우는 false
관련 항목:
setLenient(boolean)

setFirstDayOfWeek

public void setFirstDayOfWeek(int value)
주의 최초의 날이 무엇으로 있는지를 설정합니다. 예를 들어, 미국에서는 SUNDAY, 프랑스에서는 MONDAY 입니다.

파라미터:
value - 지정된 주의 최초의 날
관련 항목:
getFirstDayOfWeek() , getMinimalDaysInFirstWeek()

getFirstDayOfWeek

public int getFirstDayOfWeek()
주의 최초의 날이 무엇으로 있는지를 가져옵니다. 예를 들어, 미국에서는 SUNDAY, 프랑스에서는 MONDAY 입니다.

반환값:
주의 최초의 날
관련 항목:
setFirstDayOfWeek(int) , getMinimalDaysInFirstWeek()

setMinimalDaysInFirstWeek

public void setMinimalDaysInFirstWeek(int value)
해의 최초의 주에 필요한 최소 날짜를 설정합니다. 예를 들어, 최초의 주가, 해의 제 1 주째의 제일일을 포함하는 것으로서 정의되고 있는 경우는, 값 1 으로 이 메소드를 호출합니다. 완전한 일주일간분이 아니면 안되는 경우는, 값 7 을 사용합니다.

파라미터:
value - 년의 최초의 주에 필요한 지정된 최소 날짜
관련 항목:
getMinimalDaysInFirstWeek()

getMinimalDaysInFirstWeek

public int getMinimalDaysInFirstWeek()
해의 최초의 주에 필요한 최소 날짜를 가져옵니다. 예를 들어, 최초의 주가, 해의 제 1 주의 1 일째를 포함하는 것으로서 정의되고 있는 경우, 이 메소드는 1 을 돌려줍니다. 필요한 날짜가 완전한 일주일간분인 경우, 이 메소드는 7 을 돌려줍니다.

반환값:
년의 최초의 주에 필요한 최소 날짜
관련 항목:
setMinimalDaysInFirstWeek(int)

getMinimum

public abstract int getMinimum(int field)
Calender 인스턴스로 지정된 달력 필드의 최소치를 돌려줍니다. 최소치는, 모든 가능한 시간치에 대해서 get 메소드로 반환된 최소치로서 정의됩니다. 최소치는, 인스턴스의 특정의 파라미터를 가지는 각각의 달력 시스템에 따라서 다릅니다.

파라미터:
field - 달력 필드
반환값:
지정된 달력 필드의 최소치
관련 항목:
getMaximum(int) , getGreatestMinimum(int) , getLeastMaximum(int) , getActualMinimum(int) , getActualMaximum(int)

getMaximum

public abstract int getMaximum(int field)
Calender 인스턴스로 지정된 달력 필드의 최대치를 돌려줍니다. 최대치는, 모든 가능한 시간치에 대해서 get 메소드로 반환된 최대치로서 정의됩니다. 최대치는, 인스턴스의 특정의 파라미터를 가지는 각각의 달력 시스템에 따라서 다릅니다.

파라미터:
field - 달력 필드
반환값:
지정된 달력 필드의 최대치
관련 항목:
getMinimum(int) , getGreatestMinimum(int) , getLeastMaximum(int) , getActualMinimum(int) , getActualMaximum(int)

getGreatestMinimum

public abstract int getGreatestMinimum(int field)
Calender 인스턴스로 지정된 달력 필드의 최대 최소치를 돌려줍니다. 최대 최소치는, 모든 가능한 시간치에 대해서 getActualMinimum(int) 메소드로 반환된 최대치로서 정의됩니다. 최대 최소치는, 인스턴스의 특정의 파라미터를 가지는 각각의 달력 시스템에 따라서 다릅니다.

파라미터:
field - 달력 필드
반환값:
지정된 달력 필드의 가장 큰 최소치
관련 항목:
getMinimum(int) , getMaximum(int) , getLeastMaximum(int) , getActualMinimum(int) , getActualMaximum(int)

getLeastMaximum

public abstract int getLeastMaximum(int field)
Calendar 인스턴스로 지정된 달력 필드의 최소 최대치를 돌려줍니다. 최소 최대치는, 모든 가능한 시간치에 대해서 getActualMaximum(int) 로 반환되는 최소치로서 정의됩니다. 최소 최대치는, 인스턴스의 특정의 파라미터를 가지는 각각의 달력 시스템에 따라서 다릅니다. 예를 들어, 태양력의 시스템의 Calendar 에서는, DAY_OF_MONTH 필드에 28 이 돌려주어집니다. 이것은, 이 달력에서는 날짜가 가장 적은 달의 마지막 날이, 평년의 2 월의 28 번째의 날이기 (위해)때문에입니다.

파라미터:
field - 달력 필드
반환값:
지정된 달력 필드의 최소 최대치
관련 항목:
getMinimum(int) , getMaximum(int) , getGreatestMinimum(int) , getActualMinimum(int) , getActualMaximum(int)

getActualMinimum

public int getActualMinimum(int field)
Calendar 의 시간치를 지정한, 지정의 달력의 필드가 취할 수 있는 최소의 값을 돌려줍니다.

이 메소드의 디폴트의 구현에서는, 달력 필드의 실제의 최소치를 결정하기 위해서(때문에) 반복 알고리즘을 사용합니다. 가능한 경우는 서브 클래스가 이것을 보다 효율적인 구현으로 오버라이드(override) 합니다. 많은 경우, 실제로는 단지 getMinimum () 가 반환되는 것에 의해 오버라이드(override) 됩니다.

파라미터:
field - 달력 필드
반환값:
Calendar 의 시간치에 대한, 지정된 달력 필드의 최소치
도입된 버젼:
1.2
관련 항목:
getMinimum(int) , getMaximum(int) , getGreatestMinimum(int) , getLeastMaximum(int) , getActualMaximum(int)

getActualMaximum

public int getActualMaximum(int field)
Calendar 에 시간치를 지정한 특정의 달력 필드가 취할 수 있는 최대치를 돌려줍니다. 예를 들어, MONTH 필드의 실제의 최대치는, 어느 해로는 12 가 되어, 유태달력(일력) 시스템의 경우의 다른 해로는 13 이 됩니다.

이 메소드의 디폴트의 구현에서는, 달력 필드의 실제의 최대치를 결정하기 위해서(때문에) 반복 알고리즘을 사용합니다. 가능한 경우는 서브 클래스가 이것을 보다 효율적인 구현으로 오버라이드(override) 합니다.

파라미터:
field - 달력 필드
반환값:
Calendar 의 시간치에 대한, 지정된 달력 필드의 최대치
도입된 버젼:
1.2
관련 항목:
getMinimum(int) , getMaximum(int) , getGreatestMinimum(int) , getLeastMaximum(int) , getActualMinimum(int)

clone

public Object  clone()
이 객체의 카피를 작성해, 돌려줍니다.

오버라이드(override):
클래스 Object 내의 clone
반환값:
이 객체의 카피
관련 항목:
Cloneable

toString

public String  toString()
달력의 캐릭터 라인 표현을 돌려줍니다. 이 메소드는 디버그 (을) 위해서만 사용되어 반환되는 캐릭터 라인의 형식은 구현에 따라서 다릅니다. 반환되는 캐릭터 라인은 빈 상태(empty)의 경우가 있습니다만,null 로는 되지 않습니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 달력의 캐릭터 라인 표현

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.