GregorianCalendar 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
GregorianCalendar
는 의 Calendar
구체적인 하위 클래스이며 대부분의 세계에서 사용되는 표준 달력 시스템을 제공합니다.
[Android.Runtime.Register("java/util/GregorianCalendar", DoNotGenerateAcw=true)]
public class GregorianCalendar : Java.Util.Calendar
[<Android.Runtime.Register("java/util/GregorianCalendar", DoNotGenerateAcw=true)>]
type GregorianCalendar = class
inherit Calendar
- 상속
- 특성
설명
GregorianCalendar
는 의 Calendar
구체적인 하위 클래스이며 대부분의 세계에서 사용되는 표준 달력 시스템을 제공합니다.
GregorianCalendar
는 단일 불연속성을 지원하는 율리우스력과 그레고리력 시스템을 모두 지원하는 하이브리드 달력으로, 이는 기본적으로 양력이 제정된 양력 날짜에 해당합니다(일부 국가에서는 1582년 10월 15일, 다른 국가에서는 나중에). 호출자가 를 호출 #setGregorianChange(Date) setGregorianChange()
하여 컷오버 날짜를 변경할 수 있습니다.
역사적으로, 1582년 10월 4일(율리우스력)을 먼저 채택한 국가에서는 1582년 10월 15일(그레고리오)이 뒤따랐다. 이 일정은 이를 올바르게 모델링합니다. 그레고리오력 컷오버 전에 는 GregorianCalendar
율리우스력(Julian calendar)을 구현합니다. 그레고리오력과 율리우스력의 유일한 차이점은 윤년 규칙입니다. 율리우스력은 4년마다 윤년을 지정하는 반면, 그레고리력은 400으로 나눌 수 없는 세기를 생략합니다.
GregorianCalendar
는 <em>proleptic</em> Gregorian 및 Julian 달력을 구현합니다. 즉, 날짜는 현재 규칙을 무기한으로 역방향 및 정방향으로 추정하여 계산됩니다. 결과적으로, GregorianCalendar
의미 있고 일관된 결과를 생성하기 위해 모든 년 동안 사용할 수 있습니다. 그러나 를 사용하여 GregorianCalendar
얻은 날짜는 현대 줄리안 달력 규칙이 채택된 서기 3월 1일 이후부터만 역사적으로 정확합니다. 이 날짜 이전에는 윤년 규칙이 불규칙하게 적용되었으며 기원전 45년 이전에는 줄리안 달력도 존재하지 않았습니다.
그레고리오력의 제도 이전에는 새해 첫날이 3월 25일이었습니다. 혼동을 방지하기 위해 이 달력은 항상 1월 1일을 사용합니다. 1월 1일부터 3월 24일까지의 그레고리오 전환 이전 날짜에 대해 원하는 경우 수동 조정이 이루어질 수 있습니다.
<h3>"week_and_year">연도 및 주 연도</h3의 주>
필드에 대해 계산된 값은 Calendar#WEEK_OF_YEAR WEEK_OF_YEAR
1에서 53까지입니다. 연도의 첫 번째 주는 해당 연도로부터 최소 Calendar#getMinimalDaysInFirstWeek() getMinimalDaysInFirstWeek()
7일이 포함된 기간부터 시작되는 Calendar#getFirstDayOfWeek() getFirstDayOfWeek()
가장 빠른 7일 기간입니다. 따라서 , getFirstDayOfWeek()
및 1월 1일의 요일에 따라 달라집니다getMinimalDaysInFirstWeek()
. 1년 중 1주부터 다음 해의 주 1주(배타적)는 2에서 52 또는 53까지 순차적으로 번호가 매겨집니다(Julian-Gregorian 전환과 관련된 연도 제외).
및 getMinimalDaysInFirstWeek()
값은 getFirstDayOfWeek()
를 생성할 때 로캘 종속 리소스를 GregorianCalendar
사용하여 초기화됩니다. "iso8601_compatible_setting">주 결정은 가 이고 가 4인 경우 getFirstDayOfWeek()
MONDAY
ISO 8601 표준과 getMinimalDaysInFirstWeek()
호환되며, 이 값은 표준이 선호되는 로캘에서 사용됩니다. 이러한 값은 및 Calendar#setMinimalDaysInFirstWeek(int) setMinimalDaysInFirstWeek()
를 호출 Calendar#setFirstDayOfWeek(int) setFirstDayOfWeek()
하여 명시적으로 설정할 수 있습니다.
"week_year"><em week year</em>은 주기와 WEEK_OF_YEAR
동기화>됩니다. 첫 주와 지난 주(포함) 사이의 모든 주에는 동일한 <em week year</em 값이>> 있습니다. 따라서 1주일의 첫 번째 및 마지막 날에는 연도 값이 다를 수 있습니다.
예를 들어 1998년 1월 1일은 목요일입니다. 가 MONDAY
이고 getMinimalDaysInFirstWeek()
가 4(ISO 8601 표준 호환 설정)인 경우 getFirstDayOfWeek()
1998년 1주차는 1997년 12월 29일에 시작되어 1998년 1월 4일에 끝납니다. 1997년의 마지막 3일간의 주 연도는 1998년입니다. 그러나 getFirstDayOfWeek()
가 SUNDAY
이면 1998년 1월 4일에 1주차가 1998년 1월 4일에 시작되어 1998년 1월 10일에 끝납니다. 1998년의 첫 3일은 1997년의 53주차에 속하며 주 연도는 1997년입니다.
<h4>월<의 주/h4>
필드에 대해 계산된 값은 WEEK_OF_MONTH
0에서 6까지입니다. 월의 주 1(일 WEEK_OF_MONTH = 1
)은 해당 월의 getMinimalDaysInFirstWeek()
가장 빠른 연속 일 집합으로, 전날 getFirstDayOfWeek()
에 끝납니다. 1년 중 1주와 달리 월의 1주차는 7일보다 짧을 수 있으며 에서 getFirstDayOfWeek()
시작할 필요가 없으며 이전 달의 일수는 포함되지 않습니다. 1주 전 한 달의 일의 은 0입니다 WEEK_OF_MONTH
.
예를 들어 가 SUNDAY
이고 getMinimalDaysInFirstWeek()
가 4이면 getFirstDayOfWeek()
1998년 1월 첫 번째 주는 1월 4일 일요일부터 1월 10일 토요일까지입니다. 요즘에는 가 1입니다 WEEK_OF_MONTH
. 1월 1일 목요일부터 1월 3일 토요일까지는 0이 WEEK_OF_MONTH
있습니다. 가 3으로 변경되면 getMinimalDaysInFirstWeek()
1월 1일부터 1월 3일까지의 가 1입니다 WEEK_OF_MONTH
.
<h4>기본 필드 값</h4>
메서드는 clear
정의되지 않은 달력 필드를 설정합니다. GregorianCalendar
는 해당 값이 정의되지 않은 경우 각 달력 필드에 다음 기본값을 사용합니다.
<table class="striped" style="text-align: left; width: 66%;"><캡션 style="display:none">GregorianCalendar 기본 필드 값</캡션<>thead><tr<>th scope="col"> Field </th><th scope="col"> 기본값 </th<>/tr<>/thead><tbody><tr<>th scope="row"ERA
<>/th<>td/td<<AD
>>/tr tr><><th scope="row"><YEAR
/th><td1970
<>/td></tr tr<<>>th scope="row"MONTH
<>/th><td><JANUARY
/td<>/tr tr<>><th scope="row"><DAY_OF_MONTH
/th><td<>1
/td></tr tr th><>< scope="row">DAY_OF_WEEK
</th><td><the first day of week
/td<>/tr tr<>><th scope="row"<WEEK_OF_MONTH
>/th><td<0
>/td<>/tr tr<<>>th scope="row">DAY_OF_WEEK_IN_MONTH
</th<>td1
></td<>/tr tr<><>th scope="row"AM_PM
></th><Td>AM
</td></tr tr>><<th scope="row"HOUR, HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND
<>/th<>td<>0
/td<>/tr></tbody<>/table><br>위에 나열되지 않은 필드에는 기본값을 적용할 수 없습니다.
<strong>Example:</strong><blockquote>
// get the supported ids for GMT-08:00 (Pacific Standard Time)
String[] ids = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
// if no ids were returned, something is wrong. get out.
if (ids.length == 0)
System.exit(0);
// begin output
System.out.println("Current Time");
// create a Pacific Standard Time time zone
SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids[0]);
// set up rules for Daylight Saving Time
pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
// create a GregorianCalendar with the Pacific Daylight time zone
// and the current date and time
Calendar calendar = new GregorianCalendar(pdt);
Date trialTime = new Date();
calendar.setTime(trialTime);
// print out a bunch of interesting things
System.out.println("ERA: " + calendar.get(Calendar.ERA));
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("DATE: " + calendar.get(Calendar.DATE));
System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("DAY_OF_WEEK_IN_MONTH: "
+ calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
System.out.println("ZONE_OFFSET: "
+ (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000)));
System.out.println("DST_OFFSET: "
+ (calendar.get(Calendar.DST_OFFSET)/(60*60*1000)));
System.out.println("Current Time, with hour reset to 3");
calendar.clear(Calendar.HOUR_OF_DAY); // so doesn't override
calendar.set(Calendar.HOUR, 3);
System.out.println("ERA: " + calendar.get(Calendar.ERA));
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("DATE: " + calendar.get(Calendar.DATE));
System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("DAY_OF_WEEK_IN_MONTH: "
+ calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
System.out.println("ZONE_OFFSET: "
+ (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000))); // in hours
System.out.println("DST_OFFSET: "
+ (calendar.get(Calendar.DST_OFFSET)/(60*60*1000))); // in hours
</인용구>
1.1에 추가되었습니다.
에 대한 Java 설명서입니다 java.util.GregorianCalendar
.
이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.
생성자
GregorianCalendar() |
기본 로캘이 있는 기본 |
GregorianCalendar(Int32, Int32, Int32) |
|
GregorianCalendar(Int32, Int32, Int32, Int32, Int32) |
기본 로캘을 |
GregorianCalendar(Int32, Int32, Int32, Int32, Int32, Int32) |
기본 로캘을 사용하여 기본 표준 시간대에 대해 지정된 날짜 및 시간이 설정된 GregorianCalendar를 생성합니다. |
GregorianCalendar(IntPtr, JniHandleOwnership) |
JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다. |
GregorianCalendar(Locale) |
|
GregorianCalendar(TimeZone) |
기본 |
GregorianCalendar(TimeZone, Locale) |
|
필드
Ad |
CE라고도 하는 일반 시대(Anno Domini)를 나타내는 필드의 |
AllStyles |
사용되지 않음.
"1월" 및 "Jan"과 같은 모든 스타일의 이름을 나타내는 스타일 지정자 |
Am |
|
AmPm |
사용되지 않음.
의 필드 번호 |
April |
|
August |
|
Bc |
BCE라고도 하는 일반 시대(그리스도 이전)의 기간을 나타내는 필드의 |
Date |
사용되지 않음.
월의 날짜를 나타내는 및 |
DayOfMonth |
사용되지 않음.
월의 날짜를 나타내는 및 |
DayOfWeek |
사용되지 않음.
요일을 나타내는 및 |
DayOfWeekInMonth |
사용되지 않음.
현재 월 내의 요일의 서수 번호 및 |
DayOfYear |
사용되지 않음.
현재 연도 내의 일 번호를 나타내는 및 에 대한 |
December |
|
DstOffset |
사용되지 않음.
일광 절약 오프셋(밀리초)을 나타내는 및 |
Era |
사용되지 않음.
연대를 나타내는 및 |
February |
|
FieldCount |
및 에서 인식되는 |
Friday |
금요일을 |
Hour |
사용되지 않음.
오전 또는 오후의 시간 및 |
HourOfDay |
사용되지 않음.
날짜의 시간을 나타내는 및 |
January |
|
July |
|
June |
|
Long |
사용되지 않음.
및 |
LongFormat |
형식에 |
LongStandalone |
달력 머리글로 월 이름과 같이 독립적으로 사용되는 긴 이름을 나타내는 및 |
March |
|
May |
|
Millisecond |
사용되지 않음.
및 에 대한 |
Minute |
사용되지 않음.
시간 내의 분을 나타내는 및 |
Monday |
월요일을 |
Month |
사용되지 않음.
월을 나타내는 및 |
NarrowFormat |
형식에 |
NarrowStandalone |
좁은 이름을 독립적으로 나타내는 및 |
November |
|
October |
|
Pm |
|
Saturday |
토요일을 |
Second |
사용되지 않음.
분 내의 두 번째 를 나타내는 및 |
September |
|
Short |
사용되지 않음.
및 |
ShortFormat |
형식에 |
ShortStandalone |
달력 머리글로 한 달 약어와 |
Sunday |
일요일을 |
Thursday |
목요일을 |
Tuesday |
화요일을 |
Undecimber |
연도의 |
Wednesday |
수요일을 |
WeekOfMonth |
사용되지 않음.
현재 월 내의 주 번호를 나타내는 및 에 대한 |
WeekOfYear |
사용되지 않음.
현재 연도 내의 주 번호를 나타내는 및 에 대한 |
Year |
사용되지 않음.
연도를 나타내는 및 |
ZoneOffset |
사용되지 않음.
GMT의 원시 오프셋을 나타내는 필드 번호 |
속성
AreFieldsSet |
True이면 |
CalendarType |
이 |
Class |
이 |
Fields |
이 달력에 대해 현재 설정된 시간에 대한 달력 필드 값입니다. (다음에서 상속됨 Calendar) |
FirstDayOfWeek |
요일의 첫 번째 날짜를 가져옵니다. 전자. (다음에서 상속됨 Calendar) |
GregorianChange |
그레고리력 변경 날짜를 가져옵니다. -또는- 변경 날짜를 설정합니다 |
Handle |
기본 Android instance 대한 핸들입니다. (다음에서 상속됨 Object) |
IsTimeSet |
True이면 값 |
IsWeekDateSupported |
주 날짜를 지원함을 |
JniIdentityHashCode |
|
JniPeerMembers |
|
Lenient |
날짜/시간 해석이 관대해야 하는지 여부를 알려줍니다. (다음에서 상속됨 Calendar) |
MinimalDaysInFirstWeek |
연도 첫 주에 필요한 최소 일 수를 가져옵니다. 전자. (다음에서 상속됨 Calendar) |
PeerReference |
|
ThresholdClass |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
ThresholdType |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
Time |
|
TimeInMillis |
이 일정의 시간 값을 밀리초 단위로 반환합니다. (다음에서 상속됨 Calendar) |
TimeZone |
표준 시간대를 가져옵니다. -또는- 지정된 표준 시간대 값을 사용하여 표준 시간대를 설정합니다. (다음에서 상속됨 Calendar) |
WeeksInWeekYear |
이 |
WeekYear |
이 |
메서드
Add(CalendarField, Int32) |
일정의 규칙에 따라 지정된(서명된) 시간을 지정된 달력 필드에 추가합니다. |
After(Object) |
지정된 |
Before(Object) |
지정된 |
Clear() |
정의되지 않은 이 의 모든 달력 필드 값과 시간 값("#Epoch">Epoch에서 밀리초 오프셋)을 |
Clear(CalendarField) |
지정된 달력 필드 값과 정의되지 않은 이 |
Clone() |
이 개체의 복사본을 만들고 반환합니다. (다음에서 상속됨 Calendar) |
CompareTo(Calendar) |
두 |
Complete() |
일정 필드의 설정되지 않은 필드를 채웁니다. (다음에서 상속됨 Calendar) |
ComputeFields() |
시간 값(Epoch에서 밀리초 오프셋)을 달력 필드 값으로 변환합니다. |
ComputeTime() |
달력 필드 값을 시간 값(Epoch에서 밀리초 오프셋)으로 변환합니다. |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다. (다음에서 상속됨 Object) |
From(ZonedDateTime) |
개체에서 |
Get(CalendarField) |
지정된 달력 필드의 값을 반환합니다. (다음에서 상속됨 Calendar) |
GetActualMaximum(CalendarField) |
이 |
GetActualMinimum(CalendarField) |
이 |
GetDisplayName(Int32, Int32, Locale) |
지정된 |
GetDisplayNames(Int32, Int32, Locale) |
|
GetGreatestMinimum(CalendarField) |
이 |
GetHashCode() |
개체의 해시 코드 값을 반환합니다. (다음에서 상속됨 Object) |
GetLeastMaximum(CalendarField) |
이 |
GetMaximum(CalendarField) |
이 |
GetMinimum(CalendarField) |
이 |
InternalGet(Int32) |
지정된 달력 필드의 값을 반환합니다. (다음에서 상속됨 Calendar) |
IsLeapYear(Int32) |
지정된 연도가 윤년인지 확인합니다. |
IsSet(CalendarField) |
메서드 호출에 의해 트리거된 내부 필드 계산에 의해 값이 설정된 경우를 포함하여 지정된 일정 필드에 값 집합이 |
JavaFinalize() |
가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다. (다음에서 상속됨 Object) |
Notify() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 Object) |
NotifyAll() |
이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다. (다음에서 상속됨 Object) |
Roll(CalendarField, Boolean) |
더 큰 필드를 변경하지 않고 지정된 시간 필드에 단일 시간 단위를 추가하거나 뺍니다(위쪽/아래쪽). |
Roll(CalendarField, Int32) |
더 큰 필드를 변경하지 않고 지정된(부호 있는) 금액을 지정된 달력 필드에 추가합니다. (다음에서 상속됨 Calendar) |
Set(CalendarField, Int32) |
지정된 달력 필드를 지정된 값으로 설정합니다. (다음에서 상속됨 Calendar) |
Set(Int32, Int32, Int32) |
달력 필드 |
Set(Int32, Int32, Int32, Int32, Int32) |
달력 필드 |
Set(Int32, Int32, Int32, Int32, Int32, Int32) |
, , , |
SetHandle(IntPtr, JniHandleOwnership) |
Handle 속성을 설정합니다. (다음에서 상속됨 Object) |
SetWeekDate(Int32, Int32, Int32) |
이 날짜를 지정된 날짜 |
ToArray<T>() |
|
ToInstant() |
|
ToString() |
개체의 문자열 표현을 반환합니다. (다음에서 상속됨 Object) |
ToZonedDateTime() |
이 개체 |
UnregisterFromRuntime() |
|
Wait() |
현재 스레드가 깨어날 때까지 대기하게 합니다( 일반적으로 <알림을 받><거나 <>중단/>em>)합니다<. (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64, Int32) |
현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
IComparable.CompareTo(Object) |
|
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
확장 메서드
JavaCast<TResult>(IJavaObject) |
Android 런타임 확인 형식 변환을 수행합니다. |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|