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 日、それ以外の国では 1582 年 10 月 15 日) に既定で対応します。 カットオーバー日付は、 を呼び出すことによって呼び出 #setGregorianChange(Date) setGregorianChange()
し元によって変更される場合があります。
歴史的に、グレゴリオ暦を最初に採用した国では、1582年10月4日(ユリウス)、1582年10月15日(グレゴリオ暦)が続きました。 このカレンダーは、これを正しくモデル付けします。 グレゴリオ暦のカットオーバーの前に、 GregorianCalendar
ユリウス暦を実装します。 グレゴリオ暦とユリウス暦の唯一の違いは、閏年の規則です。 ユリウス暦は 4 年ごとに閏年を指定しますが、グレゴリオ暦では 400 で割り切れない世紀の年が省略されます。
GregorianCalendar
は、<><>グレゴリオ暦とユリウス暦を実装します。 つまり、日付は、現在のルールを無期限に遠く前へ、そして時間的に前方に外挿することによって計算されます。 その結果、 は、 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()
日数をCalendar#getFirstDayOfWeek() getFirstDayOfWeek()
含む 7 日間の最も早い期間です。 したがって、、、および 1 月 1 日の曜日の値getMinimalDaysInFirstWeek()
getFirstDayOfWeek()
によって異なります。 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>週年</em> 値を持ちます。 したがって、1 週間の最初の日と最後の日の年の値が異なる場合があります。
たとえば、1998 年 1 月 1 日は木曜日です。 が MONDAY
getMinimalDaysInFirstWeek()
と が 4 (ISO 8601 標準互換設定) の場合getFirstDayOfWeek()
、1998 年 12 月 29 日に 1998 年 12 月 1 日に開始され、1998 年 1 月 4 日に終了します。 週の年は、1997 年の最後の 3 日間の 1998 年です。 ただし、 getFirstDayOfWeek()
が SUNDAY
の場合、1998 年の第 1 週は 1998 年 1 月 4 日に始まり、1998 年 1 月 10 日に終了します。1998 年の最初の 3 日間は 1997 年の第 53 週の一部であり、その週の年は 1997 です。
<h4>月の<週/h4>
フィールドに対して計算される値の範囲は WEEK_OF_MONTH
0 ~ 6 です。 1 か月の週 1 (の日 WEEK_OF_MONTH = 1
) は、その月の少なくとも getMinimalDaysInFirstWeek()
連続した日の最も早いセットで、前 getFirstDayOfWeek()
の日に終了します。 年の週 1 とは異なり、1 か月の週 1 は 7 日より短く、で getFirstDayOfWeek()
開始する必要はありません。前月の日は含まれません。 週 1 の前の月の日数には WEEK_OF_MONTH
、 が 0 になります。
たとえば、 が SUNDAY
getMinimalDaysInFirstWeek()
で が 4 の場合getFirstDayOfWeek()
、1998 年 1 月の最初の週は、1 月 4 日 (日曜日) から 1 月 10 日 (土曜日) になります。 これらの日の は WEEK_OF_MONTH
1 です。 1月1日(木)~1月3日(土)は WEEK_OF_MONTH
0です。 が 3 に変更された場合 getMinimalDaysInFirstWeek()
、1 月 1 日から 1 月 3 日の a WEEK_OF_MONTH
は 1 になります。
<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><th><scope="row"<YEAR
>/th<>td>1970
</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/td>>0
<</tr><tr><th scope="row">DAY_OF_WEEK_IN_MONTH
</th><td>1
</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
</blockquote>
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 |
|
AllStyles |
古い.
"January" や "Jan" など、すべてのスタイルの名前を示すスタイル指定子 |
Am |
|
AmPm |
古い.
のフィールド番号 |
April |
|
August |
|
Bc |
|
Date |
古い.
月の |
DayOfMonth |
古い.
月の |
DayOfWeek |
古い.
曜日を |
DayOfWeekInMonth |
古い.
現在の |
DayOfYear |
古い.
のフィールド番号 |
December |
|
DstOffset |
古い.
夏時間オフセットを |
Era |
古い.
年号を |
February |
|
FieldCount |
と |
Friday |
金曜日を |
Hour |
古い.
午前または午後の |
HourOfDay |
古い.
1 日の |
January |
|
July |
|
June |
|
Long |
古い.
と同等 |
LongFormat |
書式に使用される長い名前を示す および |
LongStandalone |
カレンダー ヘッダーとして月名など、個別に使用される長い名前を示す および のスタイル指定子 |
March |
|
May |
|
Millisecond |
古い.
のフィールド番号 |
Minute |
古い.
時間内の |
Monday |
月曜日を |
Month |
古い.
月を示す および |
NarrowFormat |
書式に使用される狭い名前を示す および |
NarrowStandalone |
狭い名前を |
November |
|
October |
|
Pm |
|
Saturday |
土曜日を |
Second |
古い.
1 分以内の |
September |
|
Short |
古い.
と同等 |
ShortFormat |
書式に使用される短い名前を示す および |
ShortStandalone |
カレンダー ヘッダーとして月の省略形など、個別に使用される短い名前を示す および のスタイル指定子 |
Sunday |
日曜日を |
Thursday |
木曜日を |
Tuesday |
火曜日を |
Undecimber |
年の |
Wednesday |
水曜日を |
WeekOfMonth |
古い.
現在の月内の |
WeekOfYear |
古い.
現在の年内の |
Year |
古い.
年を |
ZoneOffset |
古い.
GMT からの生オフセットをミリ秒単位で示す と |
プロパティ
AreFieldsSet |
現在設定されている時刻と同期している場合 |
CalendarType |
この |
Class |
この |
Fields |
この予定表の現在設定されている時刻の予定表フィールドの値。 (継承元 Calendar) |
FirstDayOfWeek |
週の最初の日を取得します。E。 (継承元 Calendar) |
GregorianChange |
グレゴリオ暦の変更日を取得します。 または、変更日を |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
IsTimeSet |
True を指定すると、 の |
IsWeekDateSupported |
週 |
JniIdentityHashCode |
|
JniPeerMembers |
|
Lenient |
日付/時刻の解釈が寛大であるかどうかを示します。 (継承元 Calendar) |
MinimalDaysInFirstWeek |
年の最初の週に必要な最小日数を取得します。E。 (継承元 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() |
この |
Clear(CalendarField) |
指定されたカレンダー フィールド値と、この |
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Calendar) |
CompareTo(Calendar) |
2 つの |
Complete() |
予定表フィールドの未設定のフィールドを入力します。 (継承元 Calendar) |
ComputeFields() |
時間値 (エポックからのミリ秒オフセット) をカレンダー フィールドの値に変換します。 |
ComputeTime() |
カレンダー フィールドの値を時間値 (エポックからのミリ秒オフセット) に変換します。 |
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() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
Roll(CalendarField, Boolean) |
大きなフィールドを変更せずに、特定の時間フィールドに 1 つの時間単位を加算または減算 (上下) します。 |
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> または>< em 中断</em によって待機します>。> (継承元 Object) |
Wait(Int64) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 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) |
|