模块  java.base
软件包  java.util

Class Calendar

  • 実装されているすべてのインターフェース
    Serializable , Cloneable , Comparable<Calendar>
    既知の直接サブクラス:
    GregorianCalendar

    public abstract class Calendar
    extends Object
    implements Serializable, Cloneable, Comparable<Calendar>
    所述Calendarクラスは抽象クラスであり、特定の瞬間とセットの間の変換のためのメソッドを提供できます。calendar fields如YEAR , MONTH , DAY_OF_MONTH , HOUR、など、およびそのカレンダーフィールドを操作するためのものです。例えば、日付の次の週を取得するなど。 瞬間はミリ秒値で表すことができ、その値は1970年1月1日グリニッジ標準時1970年1月1日00:00:00,000(グレゴリオ暦)のものである。Epochのオフセット。

    このクラスは、パッケージの外部で具体的な暦システムを実装するための追加のフィールドとメソッドも提供します。 これらのフィールドとメソッドは次のように定義されますprotected 。

    他のロケール依存クラスと同様に、Calendarクラスメソッドを提供します。getInstance、この型の汎用オブジェクトを取得するために使用されます。 CalendarのgetInstance方法返回一个Calendarカレンダーフィールドが現在の日付と時刻で初期化されているオブジェクト:

         Calendar rightNow = Calendar.getInstance();
     

    Calendarオブジェクトは、特定の言語とカレンダースタイルの日時形式を実装するために必要なすべてのカレンダーフィールド値を生成できます(例:日本語 - グレゴリオ暦、日本語 - と暦)。 Calendar特定のカレンダーフィールドが返す値の範囲とその意味を定義します。 たとえば、すべての暦における暦システムの最初の月の値はMONTH == JANUARY 。 其他值由具体子类定义,例如ERA 。 詳細については、各フィールドのドキュメントとサブクラスのドキュメントを参照してください。

    カレンダーのフィールド値を取得および設定します

    可以通过调用set方法来设置日历字段值。 Calendar設定されたフィールド値は、その時間値(エポックからのミリ秒数)またはカレンダーフィールドの値を計算する必要があるまで解釈されません。 调用get , getTimeInMillis , getTime , addとrollこのような計算を伴います。

    宽大

    Calendar具有解释日历字段, 宽松 , 緩くない两种模式。 当Calendar寛容モードでは、生成する値よりも広い範囲のカレンダーフィールド値を受け入れます。 当Calendar重新计算返回Calendar日历字段值时, get()所有日历字段进行规范化。 例如,宽松GregorianCalendar解释MONTH == JANUARY , DAY_OF_MONTH == 32如2月1日。

    当Calendar非寛容モードの場合、カレンダー・フィールドに不整合があると、例外がスローされます。 例如, GregorianCalendar常に1と月の長さの間に生成されるDAY_OF_MONTH值。 範囲外のフィールド値が設定されている場合は、非寛容です。GregorianCalendarその時間またはカレンダー・フィールド値を計算する際に例外がスローされます。

    First Week

    Calendarロケール固有の7日間の週は、週の最初の日と最初の週の最小日数(1〜7)という2つのパラメータで定義されます。 当构造Calendar時、これらの数字はロケールリソースデータまたはロケール自体から取得されます。 指定されたロケールに「fw」および/または「rg」が含まれている場合Unicode extensionsこれらの拡張名に基づいて、週の最初の日が取得されます。 「fw」と「rg」の両方が指定されている場合、「fw」拡張の値は「rg」拡張の暗黙の値を置き換えます。 それらは、その値を設定するメソッドによって明示的に指定することもできます。

    设置或获取WEEK_OF_MONTH或WEEK_OF_YEAR字段时, Calendar月または年の最初の週を基準点として決定する必要があります。 1か月または1年の最初の週は、以下から始まるものと定義されています。getFirstDayOfWeek()開始し、かつその月または年の少なくともを含むgetMinimalDaysInFirstWeek()日の最も早い7日間。 週番号は最初の週より前では......、-1、0と番号付けされます; 週番号は2、3、……それに続きます。 请注意, get()返される正規化番号は異なる場合があります。 例えば、特定のCalendarサブクラスは、年の第1週より前の週を前年の第n周。

    日历字段分辨率

    カレンダーフィールドから日付と時刻を計算する場合、計算に十分な情報がない場合(例えば、年と月のみで日がない場合)や、不整合な情報が存在する場合があります(例えば、1996年7月15日火曜日(グレゴリオ暦) - 実際には1996年7月15日は月曜日です)。 Calendarカレンダーフィールド値を解析して、次の方法で日付と時刻を決定します。

    If there is any conflict in calendar field values, Calendar gives priorities to calendar fields that have been set more recently.以下は、カレンダーフィールドのデフォルトの組み合わせです。 最近設定された単一のフィールドによって決定された最新の組み合わせが使用されます。

    For the date fields :

     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
     
    For the time of day fields :
     HOUR_OF_DAY
     AM_PM + HOUR
     

    選択されたフィールドの組み合わせにいずれかのカレンダーフィールドの値が設定されていない場合は、Calendar将使用其默认值。 各フィールドのデフォルト値は、具体的な暦システムによって異なる場合があります。 例えば、GregorianCalendar、あるフィールドのデフォルト値は、同じ時代の始まりです。すなわちYEAR = 1970 , MONTH = JANUARY , DAY_OF_MONTH = 1 ,等等。

    注意:特定の特異な時間の解釈には、いくつかの曖昧な点が存在する可能性があり、以下の方法で解決できます。

    1. 23:59は一日の最後の1分であり、00:00は翌日の最初の1分です。 因此,1999年12月31日23:59 <2000年1月1日00:00 <00:01,2000年1月1日。
    2. 歴史のには正確ではありませんが、真夜中も「午前」に属し、正午も「午後」に属します。したがって、同じ日には、午前12:00(真夜中)< 午前12:01、午後12:00(正午)< 午後12:01 となります。

    日付または時刻の形式文字列は、カレンダー定義の一部ではありません。ユーザーは実行時にこれらの文字列を変更または上書きできる必要があるためです。 使用DateFormat格式化日期。

    野外操纵

    :日历字段可以用三种方法来改变set() , add()とroll() 。

    set(f, value)改变日历字段f至value 。 此外,它设置内部成员变量以指示日历字段f已更改。 尽管日历字段f即座に変更し、ミリ秒単位のカレンダーの時間値は、次の呼び出しまで再計算されません。get() , getTime() , getTimeInMillis() , add() ,或roll()而成。 したがって、set()何度呼び出しても、不要な計算が何度も実行されることはありません。 として使用set()カレンダーフィールドを変更すると、カレンダーフィールド、カレンダーフィールド値、およびカレンダーシステムに応じて、他のカレンダーフィールドも変更される場合があります。 此外, get(f)不一定返回value通过电话设置到set方法日历字段已重新计算后。 具体的な状況は、特定のカレンダークラスによって決まります。

    例如 :考虑GregorianCalendar最初は1999年8月31日として設定され、set(Calendar.MONTH, Calendar.SEPTEMBER)集日から1999年9月31日までは、これは一時的な内部表現であり、1999年10月1日として解析されます。もしgetTime() ,然后调用。 しかし、呼び出しではset(Calendar.DAY_OF_MONTH, 30)之前调用getTime()日付を1999年9月30日に設定します。なぜなら、set()之后没有重新计算。

    add(f, delta)增加delta到现场f 。 これは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.

    さらに、set()不同, add()カレンダーのミリ秒数とすべてのフィールドを直ちに再計算することを強制します。

    例如 :考虑GregorianCalendar最初は1999年8月31日として設定され、add(Calendar.MONTH, 13)集日历9月30日,2000年添加规则1套MONTH9月になり、13か月を加えると翌年の9月になるため。 由于DAY_OF_MONTH9月にはできないGregorianCalendar ,因此添加规则2将DAY_OF_MONTH可能な限り近い値に設定されます。 それはより小さなフィールドですが、DAY_OF_WEEK規則2は...に対しては適用されないDAY_OF_WEEK調整が行われるのは、月がGregorianCalendar发生变化时,预计会发生变化。

    roll(f, delta)增加delta到现场fより大きいフィールドは変更しません。 これは次の調整呼び出しに相当します。add(f, delta) :

    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月31日であるべきで、1999年3月28日ではありません。元の日付を保存して使用することでadd()或roll()、より大きなフィールドに影響をとえるべきかどうかに応じて、ユーザーインターフェースはほとんどのユーザーが直感的に期待するように動作できます。

    以下のバージョンから:
    1.1
    另请参见:
    System.currentTimeMillis() , Date , GregorianCalendar , TimeZone , DateFormat , Serialized Form
    • ネストされたクラスの概要

      嵌套类  
      変数と型 类 描述
      static class  Calendar.Builder
      Calendar.Builderさまざまな日時パラメータから作成するために使用されるCalendar 。
    • フィールドの概要

      字段  
      変数と型 字段 描述
      static int ALL_STYLES
      getDisplayNamesスタイル指定子は、すべてのスタイル内の名前(例:「January」および「Jan」)を示します。
      static int AM
      AM_PM真夜中から正午前までの時間帯を表すフィールドの値。
      static int AM_PM
      getとset字段编号表示 HOUR正午の前か後かです。
      static int APRIL
      MONTHフィールドの値は、グレゴリオ暦およびユリウス暦における一年の第4月を表します。
      protected boolean areFieldsSet
      如果 fields[]現在設定されている時間と同期し、fields[] True。
      static int AUGUST
      MONTHフィールドの値は、グレゴリオ暦およびユリウス暦における一年の第8月を表します。
      static int DATE
      getとsetフィールド番号はその月の日を示します。
      static int DAY_OF_MONTH
      getとsetフィールド番号はその月の日を示します。
      static int DAY_OF_WEEK
      フィールド番号はgetとset表示星期几。
      static int DAY_OF_WEEK_IN_MONTH
      getとsetフィールド番号。現在の月におけるある日の序数を表します。
      static int DAY_OF_YEAR
      getとsetフィールド番号は、年の中の日番号を表します。
      static int DECEMBER
      MONTHフィールドの値は、グレゴリオ暦とユリウス暦における年の第12番目の月を表します。
      static int DST_OFFSET
      getとset夏時間のオフセット(ミリ秒単位)を示すフィールド番号。
      static int ERA
      getとsetフィールド番号は、ユリウス暦におけるADやBCなどの時代を表します。
      static int FEBRUARY
      MONTHフィールドの値は、グレゴリオ暦およびユリウス暦における一年の第2月を表します。
      static int FIELD_COUNT
      getとset認識された異なるフィールドの数。
      protected int[] フィールド
      このカレンダーに現在設定されている時刻のカレンダーフィールド値。
      static int FRIDAY
      DAY_OF_WEEKフィールドの値は金曜日を表します。
      static int HOUR
      getとsetフィールド番号は、午前または午後の時間を示します。
      static int HOUR_OF_DAY
      getとsetフィールド番号はその日の時を示します。
      protected boolean[] isSet
      カレンダーの指定されたカレンダーフィールドが設定されているかどうかを示すフラグ。
      protected boolean isTimeSet
      もし〜ならtimeの値が有効time真。
      static int JANUARY
      MONTHグレゴリオ暦およびユリウス暦における年の最初の月を表すフィールドの値。
      static int JULY
      MONTHフィールドの値は、グレゴリオ暦およびユリウス暦における一年の第7月を表します。
      static int JUNE
      MONTHフィールドの値、グレゴリオ暦とユリウス暦の6番目の月を表します。
      static int LONG
      getDisplayNameとgetDisplayNamesの样式说明 符 ,相当于 LONG_FORMAT 。
      static int LONG_FORMAT
      getDisplayNameとgetDisplayNamesの样式说明 符、フォーマットに使用する長い名前を示します。
      static int LONG_STANDALONE
      getDisplayNameとgetDisplayNamesの样式说明 符、単独で使用される長い名前を示します。例えば、カレンダーのタイトルとしての月名などです。
      static int MARCH
      MONTHフィールドの値は、グレゴリオ暦とユリウス暦における1年の3番目の月を表します。
      static int MAY
      MONTHグレゴリオ暦およびユリウス暦における年の5番目の月を表すフィールドの値。
      static int MILLISECOND
      getとsetフィールド番号は秒内のミリ秒数を表します。
      static int MINUTE
      getとsetフィールド番号は時間内の分を表します。
      static int MONDAY
      DAY_OF_WEEKフィールドの値は月曜日を表します。
      static int MONTH
      getとset字段编号表示月份。
      static int NARROW_FORMAT
      getDisplayNameとgetDisplayNamesの样式说明 符、フォーマットに使用する狭い名前を示します。
      static int NARROW_STANDALONE
      getDisplayNameとgetDisplayNamesの样式说明 符 , 独立指示窄名称。
      static int NOVEMBER
      MONTHフィールドの値は、グレゴリオ暦とユリウス暦における年の11番目の月を表します。
      static int OCTOBER
      MONTHフィールドの値は、グレゴリオ暦とユリウス暦における1年の10番目の月を表します。
      static int PM
      AM_PMフィールドの値は、正午から深夜前までの一日の時間帯を表します。
      static int SATURDAY
      土曜日を表すDAY_OF_WEEKフィールドの値。
      static int SECOND
      getとsetフィールド番号は、分の中の秒を表します。
      static int SEPTEMBER
      MONTHフィールドの値は、グレゴリオ暦とユリウス暦における1年の9番目の月を表します。
      static int SHORT
      getDisplayNameとgetDisplayNamesの样式说明 符 ,相当于 SHORT_FORMAT 。
      static int SHORT_FORMAT
      getDisplayNameとgetDisplayNamesの样式说明 符、フォーマットに使用する短い名前を示します。
      static int SHORT_STANDALONE
      getDisplayNameとgetDisplayNamesの样式说明 符、単独で使用される短い名前を示します。例えば、カレンダーのタイトルとしての月の略称などです。
      static int SUNDAY
      日曜日を表すDAY_OF_WEEKフィールドの値。
      static int THURSDAY
      DAY_OF_WEEKフィールドの値は木曜日を表します。
      protected long time
      このカレンダーの現在の設定時刻は、1970年1月1日グリニッジ標準時0:00:00からのミリ秒数で表されます。
      static int TUESDAY
      火曜日を表すDAY_OF_WEEKフィールドの値。
      static int UNDECIMBER
      MONTH1年の13番目の月を表すフィールドの値。
      static int WEDNESDAY
      DAY_OF_WEEKフィールドの値は水曜日を表します。
      static int WEEK_OF_MONTH
      getとset字段编号, get setの週数。
      static int WEEK_OF_YEAR
      getとsetフィールド番号は、現在の年の中の週番号を表します。
      static int YEAR
      フィールド番号はgetとset表示年份。
      static int ZONE_OFFSET
      getとsetフィールド番号。GMTからの元のオフセット(ミリ秒単位)を表します。
    • コンストラクタの概要

      构造方法  
      变量 构造器 描述
      protected Calendar()
      デフォルトのタイムゾーンとデフォルトのFORMAT语言环境构造日历。
      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未定義のすべてのカレンダー・フィールド値と時間値(距離エポックの毫秒偏移量)。
      void clear​(int field)
      设置此 Calendar未定義の指定されたカレンダー・フィールド値と時間値(距離エポックの毫秒偏移量)。
      Object clone()
      このオブジェクトのコピーを作成して返します。
      int compareTo​(Calendar anotherCalendar)
      比较两个 Calendarオブジェクトが表す時間値(Epochから始まる毫秒偏移)。
      protected void complete()
      カレンダ・フィールドの未設定のフィールドをすべて設定します。
      protected abstract void computeFields()
      現在のミリ秒時間値を変換してtimeのカレンダーフィールドの値fields[] 。
      protected abstract void computeTime()
      将 fields[]中の現在のカレンダーフィールド値转换ミリ秒の時間値としてtime 。
      boolean equals​(Object obj)
      将此 Calendar指定された〜とObject 。
      int get​(int field)
      指定されたカレンダーフィールドの値を返します。
      int getActualMaximum​(int field)
      给定此 Calendar指定された暦フィールドが取り得る時間値を返します。Calendar 。
      int getActualMinimum​(int field)
      给定此 Calendar指定された暦フィールドが取り得る時間値を返します。Calendar 。
      static Set<String> getAvailableCalendarTypes()
      変更不可能な...を返すSet其中包含运行时环境中 Calendarサポートされているすべてのカレンダータイプ。
      static Locale[] getAvailableLocales()
      すべてのロケールの配列を返します、getInstance方法可以 getInstance返回本地化实例。
      String getCalendarType()
      返回此 Calendarのカレンダータイプ。
      String getDisplayName​(int field, int style, Locale locale)
      返回给定 styleとlocale日历 フィールド値の文字列表現locale 。
      Map<String,​Integer> getDisplayNames​(int field, int style, Locale locale)
      返回 Map其中包含给定 styleとlocale日历 フィールドすべての名前と、その対応するフィールド値。
      int getFirstDayOfWeek()
      週の初日を取得します; 例如, SUNDAYアメリカでは、MONDAYフランスでは。
      abstract int getGreatestMinimum​(int field)
      返回此 Calendarインスタンスの指定されたカレンダ・フィールドの最大の最小値。
      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)
      返回此 Calendarインスタンスの指定されたカレンダーフィールドのCalendar 。
      int getMinimalDaysInFirstWeek()
      1年の最初の週に必要な最小日数を取得します; 例えば、最初の週が1年の最初の月の最初の日を含む週として定義されている場合、このメソッドは1を返します。
      abstract int getMinimum​(int field)
      返回此 Calendarインスタンスの指定されたカレンダーフィールドのCalendar 。
      Date getTime()
      返回一个 Dateオブジェクト、これを表すCalendarの時間値(エポックからのエポックの毫秒偏移量)。
      long getTimeInMillis()
      このCalendarの時間値をミリ秒単位で返します。
      TimeZone getTimeZone()
      获取时区。
      int getWeeksInWeekYear()
      返回此 Calendar表された週の中の週Calendar 。
      int getWeekYear()
      返回此 Calendar表されるCalendar 。
      int hashCode()
      このカレンダーのハッシュコードを返します。
      protected int internalGet​(int field)
      指定されたカレンダーフィールドの値を返します。
      boolean isLenient()
      日付/時刻の解釈が寛大であるかどうかを示します。
      boolean isSet​(int field)
      指定されたカレンダーフィールドに値が設定されているかどうかを判定します(...による設定を含む)。getメソッド呼び出しによってトリガーされる内部フィールド計算が値を設定する場合。
      boolean isWeekDateSupported()
      返回此 Calendar週日付をサポートするかどうか。
      abstract void roll​(int field, boolean up)
      指定された時間フィールド上で、より大きなフィールドを変更せずに、単一の時間単位を加算または減算(上/下)します。
      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_OF_DAY , MINUTEとSECOND 。
      void setFirstDayOfWeek​(int value)
      週の初日を設定します; 例如, SUNDAYアメリカでは、MONDAYフランスでは。
      void setLenient​(boolean lenient)
      日付/時刻の解釈を寛大にするかどうかを指定します。
      void setMinimalDaysInFirstWeek​(int value)
      1年の最初の週に必要な最小日数を設定します; 例えば、最初の週が一年の最初の月の初日を含む週として定義されている場合、このメソッドは値1で呼び出されます。
      void setTime​(Date date)
      指定されたものを使うDateこのカレンダーの時刻を設定します。
      void setTimeInMillis​(long millis)
      指定された long 値からこの Calendar の現在時刻を設定します。
      void setTimeZone​(TimeZone value)
      指定されたタイムゾーン値を使用して、タイムゾーンを設定します。
      void setWeekDate​(int weekYear, int weekOfYear, int dayOfWeek)
      指定された日付指定子を使用してこれを設定しますCalendarの日付 - 週年、曜日および曜日。
      Instant toInstant()
      このオブジェクトを...に変換するInstant 。
      String toString()
      このカレンダーの文字列表現を返します。
    • フィールドの詳細情報

      • ERA

        public static final int ERA
        getとsetフィールド番号は、ユリウス暦におけるADやBCなどの時代を表します。 これはカレンダー固有の値です; 请参阅子类文档。
        另请参见:
        GregorianCalendar.AD , GregorianCalendar.BC , 常数字段值
      • YEAR

        public static final int YEAR
        getとset字段编号表示年份。 これはカレンダー固有の値です; 请参阅子类文档。
        另请参见:
        常数字段值
      • WEEK_OF_YEAR

        public static final int WEEK_OF_YEAR
        getとsetフィールド番号はその年の週番号を示します。 由getFirstDayOfWeek()とgetMinimalDaysInFirstWeek()定義された年の最初の週は値1を持ちます。サブクラスは、年の最初の週より前の日数を定義します。WEEK_OF_YEARの値。
        另请参见:
        getFirstDayOfWeek() , getMinimalDaysInFirstWeek() , 常数字段值
      • WEEK_OF_MONTH

        public static final int WEEK_OF_MONTH
        getとset字段编号表示getの週数。 由getFirstDayOfWeek()とgetMinimalDaysInFirstWeek()定義された月の最初の週は値1を持ちます。サブクラスは、その月の最初の週より前の日数の値を定義します。WEEK_OF_MONTH 。
        另请参见:
        getFirstDayOfWeek() , getMinimalDaysInFirstWeek() , 常数字段值
      • DATE

        public static final int DATE
        getとsetフィールド番号はその月の日を示します。 これはDAY_OF_MONTHの同義語。 その月の初日の値は1です。
        另请参见:
        DAY_OF_MONTH , 常数字段值
      • DAY_OF_MONTH

        public static final int DAY_OF_MONTH
        getとsetフィールド番号はその月の日を示します。 これはDATEの同義語。 その月の初日の値は1です。
        另请参见:
        DATE , 常数字段值
      • DAY_OF_YEAR

        public static final int DAY_OF_YEAR
        getとsetフィールド番号は、年の中の日番号を表します。 年の最初の日の値は1です。
        另请参见:
        常数字段值
      • DAY_OF_WEEK_IN_MONTH

        public static final int DAY_OF_WEEK_IN_MONTH
        getとset当月の曜日の序数を表すフィールド番号。 とDAY_OF_WEEKフィールドと一緒に使用すると、これにより月内の日が一意に指定されます。 不像WEEK_OF_MONTHとWEEK_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前の週。 負の値は月末から計算されるため、ある月の最後の日曜日は次のように指定されます。DAY_OF_WEEK = SUNDAY, DAY_OF_WEEK_IN_MONTH = -1 。 負の値は後方へ数えるため、通常は月内での整列が正の値とは異なります。 例如,如果一个月有31天,则DAY_OF_WEEK_IN_MONTH -1将重叠DAY_OF_WEEK_IN_MONTH 5と4结束。
        另请参见:
        DAY_OF_WEEK , WEEK_OF_MONTH , 常数字段值
      • AM_PM

        public static final int AM_PM
        getとset字段编号表示HOUR正午の前か後かです。 たとえば、午後10:04の場合:AM_PMであるPM 。
        另请参见:
        AM , PM , HOUR , 常数字段值
      • HOUR

        public static final int HOUR
        getとsetフィールド番号は、午前または午後の時間を示します。 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
        getとsetフィールド番号はその日の時を示します。 HOUR_OF_DAY用于24小时制。 たとえば、午後10:04の場合:HOUR_OF_DAYは22。
        另请参见:
        HOUR , 常数字段值
      • MINUTE

        public static final int MINUTE
        getとsetフィールド番号は時間内の分を表します。 たとえば、午後10:04の場合:MINUTEは4である。
        另请参见:
        常数字段值
      • SECOND

        public static final int SECOND
        getとsetフィールド番号は、分の中の秒を表します。 たとえば、午後10:04の場合:SECONDは15。
        另请参见:
        常数字段值
      • MILLISECOND

        public static final int MILLISECOND
        getとsetフィールド番号は秒内のミリ秒数を表します。 たとえば、午後10:04の場合:MILLISECOND250です。
        另请参见:
        常数字段值
      • ZONE_OFFSET

        public static final int ZONE_OFFSET
        getとsetフィールド番号は、GMTからの生のオフセット(ミリ秒単位)を示します。

        如果TimeZone实现子类支持历史GMT偏移量更改,则此字段反映此Calendarのタイムゾーンの正しいGMTオフセット値。

        另请参见:
        常数字段值
      • DST_OFFSET

        public static final int DST_OFFSET
        getとset夏時間のオフセット(ミリ秒単位)を示すフィールド番号。

        如果TimeZone实施子类支持历史夏令时时间表更改,则此字段反映此Calendarのタイムゾーンの正しい夏時間オフセット値。

        另请参见:
        常数字段值
      • FIELD_COUNT

        public static final int FIELD_COUNT
        getとset認識される異なるフィールドの数。 フィールド番号の範囲は0..FIELD_COUNT-1 。
        另请参见:
        常数字段值
      • MONDAY

        public static final int MONDAY
        DAY_OF_WEEKフィールドの値は月曜日を表します。
        另请参见:
        常数字段值
      • WEDNESDAY

        public static final int WEDNESDAY
        DAY_OF_WEEKフィールドの値は水曜日を表します。
        另请参见:
        常数字段值
      • THURSDAY

        public static final int THURSDAY
        DAY_OF_WEEKフィールドの値は木曜日を表します。
        另请参见:
        常数字段值
      • SATURDAY

        public static final int SATURDAY
        土曜日を表すDAY_OF_WEEKフィールドの値。
        另请参见:
        常数字段值
      • JANUARY

        public static final int JANUARY
        MONTHフィールドの値は、グレゴリオ暦とユリウス暦における1年の最初の月を表します。
        另请参见:
        常数字段值
      • FEBRUARY

        public static final int FEBRUARY
        MONTHフィールドの値は、グレゴリオ暦およびユリウス暦における一年の第2月を表します。
        另请参见:
        常数字段值
      • MARCH

        public static final int MARCH
        MONTHフィールドの値は、グレゴリオ暦とユリウス暦における1年の3番目の月を表します。
        另请参见:
        常数字段值
      • APRIL

        public static final int APRIL
        MONTHフィールドの値は、グレゴリオ暦およびユリウス暦における一年の第4月を表します。
        另请参见:
        常数字段值
      • MAY

        public static final int MAY
        MONTHフィールドの値は、グレゴリオ暦とユリウス暦における1年の5番目の月を表します。
        另请参见:
        常数字段值
      • JUNE

        public static final int JUNE
        MONTHフィールドの値、グレゴリオ暦とユリウス暦の6番目の月を表します。
        另请参见:
        常数字段值
      • JULY

        public static final int JULY
        MONTHフィールドの値は、グレゴリオ暦およびユリウス暦における一年の第7月を表します。
        另请参见:
        常数字段值
      • AUGUST

        public static final int AUGUST
        MONTHフィールドの値は、グレゴリオ暦およびユリウス暦における一年の第8月を表します。
        另请参见:
        常数字段值
      • SEPTEMBER

        public static final int SEPTEMBER
        MONTHフィールドの値は、グレゴリオ暦とユリウス暦における1年の9番目の月を表します。
        另请参见:
        常数字段值
      • OCTOBER

        public static final int OCTOBER
        MONTHフィールドの値は、グレゴリオ暦とユリウス暦における1年の10番目の月を表します。
        另请参见:
        常数字段值
      • NOVEMBER

        public static final int NOVEMBER
        MONTHフィールドの値は、グレゴリオ暦およびユリウス暦の一年における第11月を表します。
        另请参见:
        常数字段值
      • DECEMBER

        public static final int DECEMBER
        MONTHフィールドの値は、グレゴリオ暦とユリウス暦における年の第12番目の月を表します。
        另请参见:
        常数字段值
      • UNDECIMBER

        public static final int UNDECIMBER
        MONTH1年の13番目の月を表すフィールドの値。 虽然GregorianCalendarこの値は使用されませんが、カレンダーはそうします。
        另请参见:
        常数字段值
      • AM

        public static final int AM
        AM_PM真夜中から正午前までの時間帯を表すフィールドの値。
        另请参见:
        常数字段值
      • PM

        public static final int PM
        AM_PMフィールドの値は、正午から深夜前までの一日の時間帯を表します。
        另请参见:
        常数字段值
      • 字段

        protected int[] fields
        このカレンダーに現在設定されている時刻のカレンダーフィールド値。 これはFIELD_COUNT整数配列、インデックスの値はERA到DST_OFFSET 。
      • isSet

        protected boolean[] isSet
        カレンダーの指定されたカレンダーフィールドが設定されているかどうかを示すフラグ。 新しいオブジェクトにはフィールドが設定されていません。 フィールドを生成するメソッドを最初に呼び出した後、それらはすべてその後も設定された状態を維持します。 これは一組のFIELD_COUNTブール値、インデックス値はERA到DST_OFFSET 。
      • time

        protected long time
        このカレンダーの現在の設定時刻は、1970年1月1日グリニッジ標準時0:00:00からのミリ秒数で表されます。
        另请参见:
        isTimeSet
      • isTimeSet

        protected boolean isTimeSet
        もし〜ならtimeの値が有効time真。 通过更改项目field[]使时间无效。
        另请参见:
        time
      • areFieldsSet

        protected boolean areFieldsSet
        如果fields[]現在設定されている時間と同期し、fields[] True。 falseの場合、次にフィールド値を取得しようとすると、現在の値が強制的に再計算されます。timeのすべてのフィールド。
    • コンストラクタの詳細情報

      • Calendar

        protected Calendar()
        デフォルトのタイムゾーンとデフォルトのFORMAT语言环境构造日历。
        另请参见:
        TimeZone.getDefault()
      • Calendar

        protected Calendar​(TimeZone zone,
                           Locale aLocale)
        指定されたタイムゾーンとロケールを持つカレンダーを構築します。
        参数
        zone- 使用するタイムゾーン
        aLocale週データのロケール
    • メソッドの詳細情報

      • getInstance

        public static Calendar getInstance()
        デフォルトのタイムゾーンとロケールを使用してカレンダを取得します。 返されるCalendarデフォルトのタイムゾーンにおける現在時刻に基づき、デフォルトはFORMAT语言环境。

        如果语言环境包含时区“tz” Unicode extension ,则使用该时区。

        结果
        日历。
      • getInstance

        public static Calendar getInstance​(TimeZone zone)
        指定されたタイムゾーンとデフォルトのロケールを使用してカレンダーを取得します。 返されるCalendar指定されたタイムゾーン内の現在時刻に基づいて、デフォルトのFORMAT语言环境。
        参数
        zone- 使用するタイムゾーン
        结果
        日历。
      • getInstance

        public static Calendar getInstance​(Locale aLocale)
        デフォルトのタイムゾーンと指定されたロケールを使用してカレンダーを取得します。 返されるCalendar指定されたロケールのデフォルトタイムゾーンにおける現在の時刻に基づきます。

        如果区域设置包含时区“tz” Unicode extension ,则使用该时区。

        参数
        aLocale週データのロケール
        结果
        日历。
      • getInstance

        public static Calendar getInstance​(TimeZone zone,
                                           Locale aLocale)
        指定されたタイムゾーンとロケールを持つカレンダーを取得します。 返されるCalendar指定されたロケールを持つ指定されたタイムゾーンにおける現在時刻に基づきます。
        参数
        zone- 使用するタイムゾーン
        aLocale週データのロケール
        结果
        日历。
      • getAvailableLocales

        public static Locale[] getAvailableLocales()
        返回getInstanceメソッドは、ローカライズされたインスタンスのすべてのロケールの配列を返すことができます。 返される配列には、少なくとも1つの等しい要素が含まれている必要があります。Locale.USのLocale实例。
        结果
        一連のロケール。そのローカライズされたCalendar实例可用。
      • computeFields

        protected abstract void computeFields()
        現在のミリ秒時間値を変換してtimeのカレンダーフィールドの値fields[] 。 これにより、カレンダーのフィールド値を、カレンダーに設定された新しい時刻と同期させることができます。 时间不会先重新计算; 時間を再計算し、次にフィールドを再計算し、呼び出します。complete()方法。
        另请参见:
        computeTime()
      • getTime

        public final Date getTime()
        返回表示此 Calendarの時間値(エポックからのエポックのミリ秒オフセット)のDateオブジェクト。
        结果
        Date時間値を表します。
        另请参见:
        setTime(Date) , getTimeInMillis()
      • setTime

        public final void setTime​(Date date)
        指定されたものを使うDateこのカレンダーの時刻を設定します。

        注意:使用Date(Long.MAX_VALUE)或Date(Long.MIN_VALUE)调用setTime()〜からかもしれないget()誤ったフィールド値が生成されます。

        参数
        date- 指定された日付。
        另请参见:
        getTime() , setTimeInMillis(long)
      • getTimeInMillis

        public long getTimeInMillis()
        このCalendarの時間値をミリ秒単位で返します。
        结果
        エポックからの現在時刻(UTCミリ秒)。
        另请参见:
        getTime() , setTimeInMillis(long)
      • setTimeInMillis

        public void setTimeInMillis​(long millis)
        指定された long 値からこの Calendar の現在時刻を設定します。
        参数
        millis- エポックからのUTCミリ秒単位の新しい時刻。
        另请参见:
        setTime(Date) , getTimeInMillis()
      • get

        public int get​(int field)
        指定されたカレンダーフィールドの値を返します。 寛容モードでは、すべてのカレンダーフィールドが正規化されます。 非寛容モードでは、すべてのカレンダーフィールドが検証され、いずれかのカレンダーフィールドが範囲外の値を持つ場合、このメソッドは例外をスローします。 正規化と検証はcomplete()方法处理,该方法依赖于日历系统。
        参数
        フィールド指定されたカレンダーフィールド。
        结果
        指定されたカレンダーフィールドの値。
        异常
        ArrayIndexOutOfBoundsException指定されたフィールドが範囲外の場合(field < 0 || field >= FIELD_COUNT )。
        另请参见:
        set(int,int) , complete()
      • internalGet

        protected final int internalGet​(int field)
        指定されたカレンダーフィールドの値を返します。 このメソッドは、フィールド値の正規化または検証を行いません。
        参数
        フィールド指定されたカレンダーフィールド。
        结果
        指定されたカレンダーフィールドの値。
        另请参见:
        get(int)
      • set

        public void set​(int field,
                        int value)
        指定されたカレンダーフィールドを指定された値に設定します。 无论宽大模式如何,此方法都不会解释该值。
        参数
        フィールド指定されたカレンダーフィールド。
        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カレンダー・フィールドの値。 月值基于0。 例如,0表示1月份。
        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カレンダー・フィールドの値。 月值基于0。 例如,0表示1月份。
        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_OF_DAY , MINUTEとSECOND 。 他のフィールドの以前の値を保持します。 如果不需要, 请先致电clear() 。
        参数
        year- 設定に使用YEARカレンダーフィールドの値。
        month - 用于设置MONTHカレンダー・フィールドの値。 月值基于0。 例如,0表示1月份。
        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未定義のすべてのカレンダーフィールド値と時刻値(エポックの毫秒偏移量)。 これは意味するisSet()すべてのカレンダーフィールドに対して返されますfalse日付と時刻の計算では、そのフィールドは設定されたことがないものとして扱われます。 Calendar実装クラスは、日付/時刻の計算に独自のデフォルトフィールド値を使用できます。 例如,如果YEAR字段值未定义,则GregorianCalendar使用1970。
        另请参见:
        clear(int)
      • clear

        public final void clear​(int field)
        设置此Calendarundefinedの指定されたカレンダーフィールド値と時間値(距離エポックの毫秒偏移量)。 これは意味するisSet(field)将返回false、また日付と時刻の計算では、そのフィールドは設定されたことがないものとみなされます。 Calendar実装クラスは、フィールドの特定のデフォルト値を使用して日付と時刻の計算を行うことができます。

        のHOUR_OF_DAY , HOURとAM_PM字段独立地处理,并且the resolution rule for the time of day適用される。 清除其中一个字段不会重置此Calendarの時間値。 使用set(Calendar.HOUR_OF_DAY, 0)重置小时值。

        参数
        フィールドクリアするカレンダーフィールド。
        另请参见:
        clear()
      • isSet

        public final boolean isSet​(int field)
        指定されたカレンダーフィールドに値が設定されているかどうかを判定します(...による設定を含む)。getメソッド呼び出しによってトリガーされる内部フィールド計算が値を設定する場合。
        参数
        フィールドテストするカレンダーフィールド
        结果
        true指定されたカレンダーフィールドに値が設定されている場合; それ以外の場合はfalse 。
      • getDisplayName

        public String getDisplayName​(int field,
                                     int style,
                                     Locale locale)
        返回给定styleとlocale日历フィールド値の文字列表現locale 。 該当する文字列表現がない場合は、返しますnull 。 如果字符串表示适用于给定日历フィールド则此方法调用get(field)以获取日历フィールド值。

        例如,如果此CalendarであるGregorianCalendarかつその日付が2005-01-01である場合、MONTHフィールドの文字列表現は、英語ロケールの長い形式では「1月」、短い形式では「Jan」になります。 しかし、DAY_OF_MONTHフィールドに利用可能な文字列表現がない場合、このメソッドは値を返します。null 。

        デフォルトの実装は、その中のカレンダーフィールドをサポートしますDateFormatSymbols指定された名前でlocale 。

        参数
        フィールド- 文字列表現を返すカレンダーフィールド
        style- 文字列表現に適用されるスタイル; 之一SHORT_FORMAT ( SHORT ), SHORT_STANDALONE , LONG_FORMAT ( LONG ), LONG_STANDALONE , NARROW_FORMAT ,或NARROW_STANDALONE 。
        locale文字列表現のロケール(locale指定されたカレンダータイプはすべて無視されます)
        结果
        给定 フィールド中给定 style字符串表示 style、該当する文字列表現がない場合style , null 。
        异常
        IllegalArgumentException - 如果 フィールド或 style無効、またはこのCalendar非寛容で、いずれかのカレンダーフィールドに無効な値がある
        NullPointerException - 如果 locale空である
        以下のバージョンから:
        1.6
      • getDisplayNames

        public Map<String,​Integer> getDisplayNames​(int field,
                                                         int style,
                                                         Locale locale)
        返回Map其中包含给定styleとlocale日历フィールドすべての名前と、その対応するフィールド値。 例如,如果此CalendarであるGregorianCalendar、返されるマップには「Jan」からJANUARY ,“Feb”到FEBRUARY、以下同様に、英語ロケールにおけるshort样式中。

        単一文字を使用するため、短縮名は一意ではない場合があります。例えば、日曜日と土曜日の「S」です。 この場合、短縮された名前は返されたものには含まれません。Map 。

        表示名のセットを決定するために、他のカレンダーフィールドの値を考慮することができます。 例如,如果此Calendar太陰太陽暦システムであり、YEARフィールドで指定された年の値が閏月を持つ場合、このメソッドは閏月名を含む月名を返し、月名は年固有の月名にマッピングされます。

        默认实现支持DateFormatSymbols中含まれる表示名。 例如,如果フィールドであるMONTH并且styleであるALL_STYLES ,则此方法返回Map其中包含由DateFormatSymbols.getShortMonths()とDateFormatSymbols.getMonths()返されるすべての文字列。

        参数
        フィールド表示名を返すカレンダーフィールド
        style- 文字列表現に適用されるスタイル; 之一SHORT_FORMAT ( SHORT ), SHORT_STANDALONE , LONG_FORMAT ( LONG ), LONG_STANDALONE , NARROW_FORMAT ,或NARROW_STANDALONE
        locale表示名のロケール
        结果
        一个 Mapすべての表示名に含まれているstyleとlocaleおよびそれらのフィールド値、またはnull表示名が定義されていない場合フィールド
        异常
        IllegalArgumentException - 如果 フィールド或 style無効、またはこのCalendar非寛容で、いずれかのカレンダーフィールドに無効な値がある
        NullPointerException - 如果 locale空である
        以下のバージョンから:
        1.6
      • complete

        protected void complete()
        カレンダ・フィールドの未設定のフィールドをすべて設定します。 首先,如果尚未根据日历字段值计算时间值(距离エポックの毫秒偏移量),则调用computeTime()方法。 然后,调用computeFields()方法来计算所有日历字段值。
      • getAvailableCalendarTypes

        public static Set<String> getAvailableCalendarTypes()
        変更不可能な...を返すSet其中包含运行时环境中Calendarサポートされているすべてのカレンダータイプ。 利用可能なカレンダータイプは、...に使用できますUnicode locale extensions 。 返されるSet包含至少"gregory" 。 日历类型不包含别名,例如"gregorian" ( "gregory" 。
        结果
        利用可能なすべてのカレンダータイプを含む不変のSet
        以下のバージョンから:
        1.8
        另请参见:
        getCalendarType() , Calendar.Builder.setCalendarType(String) , Locale.getUnicodeLocaleType(String)
      • getCalendarType

        public String getCalendarType()
        返回此Calendarのカレンダータイプ。 日历类型由Unicodeロケールデータマークアップ言語(LDML)规范定义。

        このメソッドのデフォルト実装はこれを返しますCalendarインスタンスのクラス名。 LDMLで定義された暦システムを実装する任意のサブクラスは、適切な暦タイプを返すためにこのメソッドをオーバーライドする必要があります。

        结果
        LDMLで定義されたカレンダータイプ、またはこのCalendarインスタンスのクラス名
        以下のバージョンから:
        1.8
        另请参见:
        Locale extensions , Locale.Builder.setLocale(Locale) , Locale.Builder.setUnicodeLocaleKeyword(String, String)
      • equals

        public boolean equals​(Object obj)
        将此Calendar指定された〜とObject 。 引数が同じ暦システムのものである場合に限りCalendarオブジェクトの場合、結果はtrue、そのオブジェクトはこのオブジェクトと同じものを表しますCalendarパラメータの下の同じ時間値(距離エポックの毫秒偏移)。

        のCalendarパラメータは、表される値です。isLenient , getFirstDayOfWeek , getMinimalDaysInFirstWeekとgetTimeZone方法。 如果两个Calendar間のパラメータに何らかの違いがある場合、このメソッドは戻りますfalse 。

        使用compareTo方法仅比较时间值。

        重写:
        equals类 Object
        参数
        obj比較するオブジェクト。
        结果
        trueこのオブジェクトが...と等しい場合obj ; それ以外の場合はfalse 。
        另请参见:
        Object.hashCode() , HashMap
      • before

        public boolean before​(Object when)
        返回此Calendar指定された...を表すかどうかObject表される時間の前の時間。 このメソッドは次と同等です:
           compareTo(when) < 0  
        当且仅当whenであるCalendar实例时。 否则,该方法返回false 。
        参数
        when- 比較対象Object
        结果
        true如果此时Calendarは、次の式で表される時間の前when ; それ以外の場合はfalse 。
        另请参见:
        compareTo(Calendar)
      • after

        public boolean after​(Object when)
        返回此Calendar指定された...を表すかどうかObject表示された時間の後の時間。 このメソッドは次と同等です:
           compareTo(when) > 0  
        当且仅当whenであるCalendar实例时。 否则,该方法返回false 。
        参数
        when- 比較対象Object
        结果
        true如果此Calendarの時間when于when表される時間; それ以外の場合はfalse 。
        另请参见:
        compareTo(Calendar)
      • compareTo

        public int compareTo​(Calendar anotherCalendar)
        比较两个 Calendarオブジェクトが表す時間値(Epochから始まる毫秒偏移)。
        Specified by:
        compareTo in interface Comparable<Calendar>
        参数
        anotherCalendar- 比較対象Calendar 。
        结果
        值0前記パラメータによって表される時刻が、これによって表される時刻と等しい場合Calendar ; 如果此Calendarこの時間がパラメーターが表す時間より早い場合、その値は小さくなります。0 ; 如果此Calendarの時間が引数が表す時間より後であれば、値はより大きくなります0 。
        异常
        NullPointerException- 指定された場合Calendarであるnull 。
        IllegalArgumentException- 無効なカレンダー値のため指定されたものを取得できない場合Calendarオブジェクトの時間値。
        以下のバージョンから:
        1.5
      • add

        public abstract void add​(int field,
                                 int amount)
        カレンダーの規則に従って、指定された時間量を指定されたカレンダーフィールドに加算または減算します。 例えば、カレンダーの現在時刻から5日を減算するには、次のメソッドを呼び出して実現できます。

        add(Calendar.DAY_OF_MONTH, -5) 。

        参数
        フィールド- カレンダーフィールド。
        amount- フィールドに追加する日付または時刻の量。
        另请参见:
        roll(int,int) , set(int,int)
      • roll

        public abstract void roll​(int field,
                                  boolean up)
        指定された時間フィールド上で、より大きなフィールドを変更せずに、単一の時間単位を加算または減算(上/下)します。 例如,要将当前日期提前一天,您可以通过调用以下方式实现:

        roll(Calendar.DATE,true)。 年またはCalendar.YEARフィールドをロールする場合、年値がロールされます。範囲は1と呼び出しによる...getMaximum(Calendar.YEAR)返される値の間。 月またはCalendar.MONTHフィールドをロールする場合、他のフィールド(日付など)が競合する可能性があり、変更が必要です。 例えば、01/31/96の日付で月をロールすると、02/29/96になります。 時またはCalendar.HOUR_OF_DAYフィールドでロールする場合、時値は0から23の範囲でロールされ、ゼロから始まります。

        参数
        フィールド- 時間フィールド。
        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版本可以解决此问题。 他のサブクラスも、正しい動作をするために、この機能のオーバーライドを提供する必要があります。

        参数
        フィールド- カレンダーフィールド。
        amount- カレンダーに追加するフィールド符号付きの量。
        以下のバージョンから:
        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日目と同等と見なされます。厳格な(非寛容な)解釈では、このような日付は例外がスローされます。 デフォルト値は寛大です。
        参数
        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週が一年の最初の月の最初の日を含む週として定義されている場合は、値1を指定してこのメソッドを呼び出します。それが完全な1週間でなければならない場合は、値7を使用します。
        参数
        value- 1年の最初の週に必要な最小日数。
        另请参见:
        getMinimalDaysInFirstWeek()
      • getMinimalDaysInFirstWeek

        public int getMinimalDaysInFirstWeek()
        1年の最初の週に必要な最小日数を取得します; 例えば、最初の週が一年の最初の月の最初の日を含む週として定義されている場合、このメソッドは1を返します。必要な最小日数が丸一週間でなければならない場合、このメソッドは7を返します。
        结果
        年の最初の週に必要な最小日数。
        另请参见:
        setMinimalDaysInFirstWeek(int)
      • isWeekDateSupported

        public boolean isWeekDateSupported()
        返回此Calendar週日付をサポートするかどうか。

        このメソッドのデフォルト実装は返しますfalse 。

        结果
        trueもしこのCalendar支持周日期; それ以外の場合はfalse 。
        以下のバージョンから:
        1.7
        另请参见:
        getWeekYear() , setWeekDate(int,int,int) , getWeeksInWeekYear()
      • setWeekDate

        public void setWeekDate​(int weekYear,
                                int weekOfYear,
                                int dayOfWeek)
        指定された日付指定子を使用してこれを設定しますCalendarの日付 - 周年、週、および曜日。

        とsetメソッドが異なり、すべてのカレンダーフィールドとtime値はすべて、返されるときに計算されます。

        如果weekOfYear有効な週年の範囲を超えたweekYear ,该weekYear个weekOfYear値は寛大なモードで調整される、またはIllegalArgumentException寛大でないモードではスローされます。

        このメソッドのデフォルト実装はスローしますUnsupportedOperationException 。

        参数
        weekYear- この週の年
        weekOfYear- この週数に基づくweekYear
        dayOfWeek- 曜日の値:DAY_OF_WEEKフィールドの定数の1つ:SUNDAY ,..., SATURDAY 。
        异常
        IllegalArgumentException- 指定された日付指定子が無効であるか、非寛容モードでカレンダーフィールドが指定された日付指定子と一致しない場合
        UnsupportedOperationException - 如果此 Calendar周年番号はサポートされていません。
        以下のバージョンから:
        1.7
        另请参见:
        isWeekDateSupported() , getFirstDayOfWeek() , getMinimalDaysInFirstWeek()
      • getMinimum

        public abstract int getMinimum​(int field)
        返回此Calendarインスタンスの指定されたカレンダーフィールドのCalendar 。 最小値は定義されるgetメソッドがあらゆる可能な時間値に対して返す最小値。 最小値は、インスタンスの暦システム固有のパラメータに依存します。
        参数
        フィールド- カレンダーフィールド。
        结果
        指定されたカレンダーフィールドの最小値。
        另请参见:
        getMaximum(int) , getGreatestMinimum(int) , getLeastMaximum(int) , getActualMinimum(int) , getActualMaximum(int)
      • getMaximum

        public abstract int getMaximum​(int field)
        返回此Calendarインスタンスの指定されたカレンダーフィールドのCalendar 。 最大値は定義されるgetメソッドがあらゆる可能な時間値に対して返す最大値。 最大値は、インスタンスの暦システム固有のパラメータに依存します。
        参数
        フィールド- カレンダーフィールド。
        结果
        指定されたカレンダーフィールドの最大値。
        另请参见:
        getMinimum(int) , getGreatestMinimum(int) , getLeastMaximum(int) , getActualMinimum(int) , getActualMaximum(int)
      • getGreatestMinimum

        public abstract int getGreatestMinimum​(int field)
        返回此Calendarインスタンスの指定されたカレンダ・フィールドの最大の最小値。 最大の最小値は次のように定義されます。getActualMinimum(int)あらゆる可能な時刻値に対して返される最大値。 最小値の最大値は、インスタンスのカレンダーシステム固有のパラメータに依存します。
        参数
        フィールド- カレンダーフィールド。
        结果
        指定されたカレンダーフィールドの最小最小値。
        另请参见:
        getMinimum(int) , getMaximum(int) , getLeastMaximum(int) , getActualMinimum(int) , getActualMaximum(int)
      • getLeastMaximum

        public abstract int getLeastMaximum​(int field)
        返回此Calendarインスタンスの指定されたカレンダ・フィールドの最小の最大値。 最小の最大値は次のように定義されます。getActualMaximum(int)任意の可能な時間値に対して返される最小值 。 最小値の最小値は、インスタンスのカレンダーシステム固有のパラメータに依存します。 例如, Calendarグレゴリオ暦システムでは、28が返されます。DAY_OF_MONTHフィールド。この暦では、28日は平年の最短の月である2月の最後の日であるため。
        参数
        フィールド- カレンダーフィールド。
        结果
        指定されたカレンダーフィールドの最小最大値。
        另请参见:
        getMinimum(int) , getMaximum(int) , getGreatestMinimum(int) , getActualMinimum(int) , getActualMaximum(int)
      • getActualMinimum

        public int getActualMinimum​(int field)
        给定此Calendar指定された暦フィールドが取り得る時間値を返します。Calendar 。

        このメソッドのデフォルト実装は、反復アルゴリズムを使用してカレンダーフィールドの実際の最小値を決定します。 可能であれば、サブクラスはより効率のな実装でこれをオーバーライドするべきです - 多くの場合、単純に返すことができます。getMinimum() 。

        参数
        フィールド- カレンダーフィールド
        结果
        此 Calendar指定されたカレンダーフィールドの時間値のCalendar
        以下のバージョンから:
        1.2
        另请参见:
        getMinimum(int) , getMaximum(int) , getGreatestMinimum(int) , getLeastMaximum(int) , getActualMaximum(int)
      • getActualMaximum

        public int getActualMaximum​(int field)
        给定此Calendar指定された暦フィールドが取り得る時間値を返します。Calendar 。 例如, MONTHフィールドの実際の最大値は、一部の年では12、ヘブライ暦システムでは他の年の13です。

        このメソッドのデフォルト実装は、反復アルゴリズムを使用してカレンダーフィールドの実際の最大値を決定します。 可能であれば、サブクラスはより効率のな実装を使用してそれをオーバーライドする必要があります。

        参数
        フィールド- カレンダーフィールド
        结果
        此 Calendar指定されたカレンダーフィールドの時間値のCalendar
        以下のバージョンから:
        1.2
        另请参见:
        getMinimum(int) , getMaximum(int) , getGreatestMinimum(int) , getLeastMaximum(int) , getActualMinimum(int)
      • clone

        public Object clone()
        このオブジェクトのコピーを作成して返します。
        重写:
        cloneクラス内Object
        结果
        このオブジェクトのコピー。
        另请参见:
        Cloneable
      • toString

        public String toString()
        このカレンダーの文字列表現を返します。 このメソッドはデバッグ目的のみに使用されます。返される文字列の形式は実装によって異なる場合があります。 返される文字列は空の場合もありますが、空でない場合もあります。null 。
        重写:
        toString課程ではObject
        结果
        このカレンダーの文字列表現。
      • toInstant

        public final Instant toInstant()
        このオブジェクトを...に変換するInstant 。

        转换创建一个Instant、時間線上でこれに対応する点を表しますCalendar同じ点。

        结果
        タイムライン上の同じポイントを表す瞬間
        以下のバージョンから:
        1.8