Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# GregorianCalendar

*** ** * ** ***

```
open class GregorianCalendar : Calendar
```

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) |||
| ↳ | [android.icu.util.Calendar](https://developer.android.com/reference/kotlin/android/icu/util/Calendar) ||
|   | ↳ | [android.icu.util.GregorianCalendar](https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#) |

|---|
| Known Direct Subclasses [BuddhistCalendar](https://developer.android.com/reference/kotlin/android/icu/util/BuddhistCalendar), [JapaneseCalendar](https://developer.android.com/reference/kotlin/android/icu/util/JapaneseCalendar), [TaiwanCalendar](https://developer.android.com/reference/kotlin/android/icu/util/TaiwanCalendar) |---|---| | [BuddhistCalendar](https://developer.android.com/reference/kotlin/android/icu/util/BuddhistCalendar) | `BuddhistCalendar` is a subclass of `GregorianCalendar` that numbers years since the birth of the Buddha. | | [JapaneseCalendar](https://developer.android.com/reference/kotlin/android/icu/util/JapaneseCalendar) | `JapaneseCalendar` is a subclass of `GregorianCalendar` that numbers years and eras based on the reigns of the Japanese emperors. | | [TaiwanCalendar](https://developer.android.com/reference/kotlin/android/icu/util/TaiwanCalendar) | `TaiwanCalendar` is a subclass of `GregorianCalendar` that numbers years since 1912. | |

**\[icu enhancement\]** ICU's replacement for `https://developer.android.com/reference/kotlin/java/util/GregorianCalendar.html#`. Methods, fields, and other functionality specific to ICU are labeled '**\[icu\]**'.

`GregorianCalendar` is a concrete subclass of `https://developer.android.com/reference/kotlin/android/icu/util/Calendar` and provides the standard calendar used by most of the world.

The standard (Gregorian) calendar has 2 eras, BC and AD.

This implementation handles a single discontinuity, which corresponds by default to the date the Gregorian calendar was instituted (October 15, 1582 in some countries, later in others). The cutover date may be changed by the caller by calling `setGregorianChange()`.

Historically, in those countries which adopted the Gregorian calendar first, October 4, 1582 was thus followed by October 15, 1582. This calendar models this correctly. Before the Gregorian cutover, `GregorianCalendar` implements the Julian calendar. The only difference between the Gregorian and the Julian calendar is the leap year rule. The Julian calendar specifies leap years every four years, whereas the Gregorian calendar omits century years which are not divisible by 400.

`GregorianCalendar` implements *proleptic* Gregorian and Julian calendars. That is, dates are computed by extrapolating the current rules indefinitely far backward and forward in time. As a result, `GregorianCalendar` may be used for all years to generate meaningful and consistent results. However, dates obtained using `GregorianCalendar` are historically accurate only from March 1, 4 AD onward, when modern Julian calendar rules were adopted. Before this date, leap year rules were applied irregularly, and before 45 BC the Julian calendar did not even exist.

Prior to the institution of the Gregorian calendar, New Year's Day was March 25. To avoid confusion, this calendar always uses January 1. A manual adjustment may be made if desired for dates that are prior to the Gregorian changeover and which fall between January 1 and March 24.

Values calculated for the `WEEK_OF_YEAR` field range from 1 to 53. Week 1 for a year is the earliest seven day period starting on `getFirstDayOfWeek()` that contains at least `getMinimalDaysInFirstWeek()` days from that year. It thus depends on the values of `getMinimalDaysInFirstWeek()`, `getFirstDayOfWeek()`, and the day of the week of January 1. Weeks between week 1 of one year and week 1 of the following year are numbered sequentially from 2 to 52 or 53 (as needed).

For example, January 1, 1998 was a Thursday. If `getFirstDayOfWeek()` is `MONDAY` and `getMinimalDaysInFirstWeek()` is 4 (these are the values reflecting ISO 8601 and many national standards), then week 1 of 1998 starts on December 29, 1997, and ends on January 4, 1998. If, however, `getFirstDayOfWeek()` is `SUNDAY`, then week 1 of 1998 starts on January 4, 1998, and ends on January 10, 1998; the first three days of 1998 then are part of week 53 of 1997.

Values calculated for the `WEEK_OF_MONTH` field range from 0 or 1 to 4 or 5. Week 1 of a month (the days with `WEEK_OF_MONTH = 1`) is the earliest set of at least `getMinimalDaysInFirstWeek()` contiguous days in that month, ending on the day before `getFirstDayOfWeek()`. Unlike week 1 of a year, week 1 of a month may be shorter than 7 days, need not start on `getFirstDayOfWeek()`, and will not include days of the previous month. Days of a month before week 1 have a `WEEK_OF_MONTH` of 0.

For example, if `getFirstDayOfWeek()` is `SUNDAY` and `getMinimalDaysInFirstWeek()` is 4, then the first week of January 1998 is Sunday, January 4 through Saturday, January 10. These days have a `WEEK_OF_MONTH` of 1. Thursday, January 1 through Saturday, January 3 have a `WEEK_OF_MONTH` of 0. If `getMinimalDaysInFirstWeek()` is changed to 3, then January 1 through January 3 have a `WEEK_OF_MONTH` of 1.

**Example:**

```kotlin
// 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 savings time
  pdt.setStartRule(Calendar.MARCH, 2, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
  pdt.setEndRule(Calendar.NOVEMBER, 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
```

GregorianCalendar usually should be instantiated using `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getInstance(android.icu.util.ULocale)` passing in a `ULocale` with the tag `"@calendar=gregorian"`.

## Summary

| Constants ||
|---|---|
| static [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#AD:kotlin.Int` Value of the `ERA` field indicating the common era (Anno Domini), also known as CE. |
| static [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#BC:kotlin.Int` Value of the `ERA` field indicating the period before the common era (before Christ), also known as BCE. |

| Inherited constants ||
|---|---|
| From class `https://developer.android.com/reference/kotlin/android/icu/util/Calendar` |---|---| | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#AM:kotlin.Int` Value of the `AM_PM` field indicating the period of the day from midnight to just before noon. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#AM_PM:kotlin.Int` Field number for `get` and `set` indicating whether the `HOUR` is before or after noon. E.g., at 10:04:15.250 PM the `AM_PM` is `PM`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#APRIL:kotlin.Int` Value of the `MONTH` field indicating the fourth month of the year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#AUGUST:kotlin.Int` Value of the `MONTH` field indicating the eighth month of the year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DATE:kotlin.Int` Field number for `get` and `set` indicating the day of the month. This is a synonym for `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DAY_OF_MONTH:kotlin.Int`. The first day of the month has value 1. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DAY_OF_MONTH:kotlin.Int` Field number for `get` and `set` indicating the day of the month. This is a synonym for `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DATE:kotlin.Int`. The first day of the month has value 1. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DAY_OF_WEEK:kotlin.Int` Field number for `get` and `set` indicating the day of the week. This field takes values `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#SUNDAY:kotlin.Int`, `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MONDAY:kotlin.Int`, `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#TUESDAY:kotlin.Int`, `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#WEDNESDAY:kotlin.Int`, `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#THURSDAY:kotlin.Int`, `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#FRIDAY:kotlin.Int`, and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#SATURDAY:kotlin.Int`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DAY_OF_WEEK_IN_MONTH:kotlin.Int` Field number for `get` and `set` indicating the ordinal number of the day of the week within the current month. Together with the `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DAY_OF_WEEK:kotlin.Int` field, this uniquely specifies a day within a month. Unlike `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#WEEK_OF_MONTH:kotlin.Int` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#WEEK_OF_YEAR:kotlin.Int`, this field's value does *not* depend on `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getFirstDayOfWeek()` or `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getMinimalDaysInFirstWeek()`. `DAY_OF_MONTH 1` through `7` always correspond to `DAY_OF_WEEK_IN_MONTH 1`; `8` through `15` correspond to `DAY_OF_WEEK_IN_MONTH 2`, and so on. `DAY_OF_WEEK_IN_MONTH 0` indicates the week before `DAY_OF_WEEK_IN_MONTH 1`. Negative values count back from the end of the month, so the last Sunday of a month is specified as `DAY_OF_WEEK = SUNDAY, DAY_OF_WEEK_IN_MONTH = -1`. Because negative values count backward they will usually be aligned differently within the month than positive values. For example, if a month has 31 days, `DAY_OF_WEEK_IN_MONTH -1` will overlap `DAY_OF_WEEK_IN_MONTH 5` and the end of `4`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DAY_OF_YEAR:kotlin.Int` Field number for `get` and `set` indicating the day number within the current year. The first day of the year has value 1. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DECEMBER:kotlin.Int` Value of the `MONTH` field indicating the twelfth month of the year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DOW_LOCAL:kotlin.Int` **\[icu\]** Field number for `get()` and `set()` indicating the localized day of week. This will be a value from 1 to 7 inclusive, with 1 being the localized first day of the week. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DST_OFFSET:kotlin.Int` Field number for `get` and `set` indicating the daylight savings offset in milliseconds. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#EPOCH_JULIAN_DAY:kotlin.Int` The Julian day of the epoch, that is, January 1, 1970 on the Gregorian calendar. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#ERA:kotlin.Int` Field number for `get` and `set` indicating the era, e.g., AD or BC in the Julian calendar. This is a calendar-specific value; see subclass documentation. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#EXTENDED_YEAR:kotlin.Int` **\[icu\]** Field number for `get()` and `set()` indicating the extended year. This is a single number designating the year of this calendar system, encompassing all supra-year fields. For example, for the Julian calendar system, year numbers are positive, with an era of BCE or CE. An extended year value for the Julian calendar system assigns positive values to CE years and negative values to BCE years, with 1 BCE being year 0. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#FEBRUARY:kotlin.Int` Value of the `MONTH` field indicating the second month of the year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#FRIDAY:kotlin.Int` Value of the `DAY_OF_WEEK` field indicating Friday. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#GREATEST_MINIMUM:kotlin.Int` Limit type for `getLimit()` and `handleGetLimit()` indicating the greatest minimum value that a field can take. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#HOUR:kotlin.Int` Field number for `get` and `set` indicating the hour of the morning or afternoon. `HOUR` is used for the 12-hour clock. E.g., at 10:04:15.250 PM the `HOUR` is 10. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#HOUR_OF_DAY:kotlin.Int` Field number for `get` and `set` indicating the hour of the day. `HOUR_OF_DAY` is used for the 24-hour clock. E.g., at 10:04:15.250 PM the `HOUR_OF_DAY` is 22. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#INTERNALLY_SET:kotlin.Int` Value of the time stamp `stamp[]` indicating that a field has been set via computations from the time or from other fields. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#IS_LEAP_MONTH:kotlin.Int` **\[icu\]** Field indicating whether or not the current month is a leap month. Should have a value of 0 for non-leap months, and 1 for leap months. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#JANUARY:kotlin.Int` Value of the `MONTH` field indicating the first month of the year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#JAN_1_1_JULIAN_DAY:kotlin.Int` The Julian day of the Gregorian epoch, that is, January 1, 1 on the Gregorian calendar. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#JULIAN_DAY:kotlin.Int` **\[icu\]** Field number for `get()` and `set()` indicating the modified Julian day number. This is different from the conventional Julian day number in two regards. First, it demarcates days at local zone midnight, rather than noon GMT. Second, it is a local number; that is, it depends on the local time zone. It can be thought of as a single number that encompasses all the date-related fields. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#JULY:kotlin.Int` Value of the `MONTH` field indicating the seventh month of the year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#JUNE:kotlin.Int` Value of the `MONTH` field indicating the sixth month of the year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#LEAST_MAXIMUM:kotlin.Int` Limit type for `getLimit()` and `handleGetLimit()` indicating the least maximum value that a field can take. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MARCH:kotlin.Int` Value of the `MONTH` field indicating the third month of the year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MAXIMUM:kotlin.Int` Limit type for `getLimit()` and `handleGetLimit()` indicating the maximum value that a field can take (greatest maximum). <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MAX_FIELD_COUNT:kotlin.Int` The maximum number of fields possible. Subclasses must not define more total fields than this number. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MAX_JULIAN:kotlin.Int` The maximum supported Julian day. This value is equivalent to `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MAX_MILLIS:kotlin.Long` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MAX_DATE:java.util.Date`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MAX_MILLIS:kotlin.Long` The maximum supported epoch milliseconds. This value is equivalent to `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MAX_JULIAN:kotlin.Int` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MAX_DATE:java.util.Date`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MAY:kotlin.Int` Value of the `MONTH` field indicating the fifth month of the year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MILLISECOND:kotlin.Int` Field number for `get` and `set` indicating the millisecond within the second. E.g., at 10:04:15.250 PM the `MILLISECOND` is 250. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MILLISECONDS_IN_DAY:kotlin.Int` **\[icu\]** Field number for `get()` and `set()` indicating the milliseconds in the day. This ranges from 0 to 23:59:59.999 (regardless of DST). This field behaves *exactly* like a composite of all time-related fields, not including the zone fields. As such, it also reflects discontinuities of those fields on DST transition days. On a day of DST onset, it will jump forward. On a day of DST cessation, it will jump backward. This reflects the fact that is must be combined with the DST_OFFSET field to obtain a unique local time value. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MINIMUM:kotlin.Int` Limit type for `getLimit()` and `handleGetLimit()` indicating the minimum value that a field can take (least minimum). <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MINIMUM_USER_STAMP:kotlin.Int` If the time stamp `stamp[]` has a value greater than or equal to `MINIMUM_USER_SET` then it has been set by the user via a call to `set()`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MINUTE:kotlin.Int` Field number for `get` and `set` indicating the minute within the hour. E.g., at 10:04:15.250 PM the `MINUTE` is 4. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MIN_JULIAN:kotlin.Int` The minimum supported Julian day. This value is equivalent to `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MIN_MILLIS:kotlin.Long` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MIN_DATE:java.util.Date`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MIN_MILLIS:kotlin.Long` The minimum supported epoch milliseconds. This value is equivalent to `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MIN_JULIAN:kotlin.Int` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MIN_DATE:java.util.Date`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MONDAY:kotlin.Int` Value of the `DAY_OF_WEEK` field indicating Monday. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MONTH:kotlin.Int` Field number for `get` and `set` indicating the month. This is a calendar-specific value. The first month of the year is `JANUARY`; the last depends on the number of months in a year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#NOVEMBER:kotlin.Int` Value of the `MONTH` field indicating the eleventh month of the year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#OCTOBER:kotlin.Int` Value of the `MONTH` field indicating the tenth month of the year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#ONE_DAY:kotlin.Long` The number of milliseconds in one day. Although ONE_DAY and ONE_WEEK can fit into ints, they must be longs in order to prevent arithmetic overflow when performing (bug 4173516). <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#ONE_HOUR:kotlin.Int` The number of milliseconds in one hour. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#ONE_MINUTE:kotlin.Int` The number of milliseconds in one minute. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#ONE_SECOND:kotlin.Int` The number of milliseconds in one second. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#ONE_WEEK:kotlin.Long` The number of milliseconds in one week. Although ONE_DAY and ONE_WEEK can fit into ints, they must be longs in order to prevent arithmetic overflow when performing (bug 4173516). <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#ORDINAL_MONTH:kotlin.Int` **\[icu\]** Field indicating the month. This is a calendar-specific value. Differ from MONTH, this value is continuous and unique within a year and range from 0 to 11 or 0 to 12 depending on how many months in a year, the calendar system has leap month or not, and in leap year or not. It is the ordinal position of that month in the corresponding year of the calendar. For Chinese, Dangi, and Hebrew calendar, the range is 0 to 11 in non-leap years and 0 to 12 in leap years. For Coptic and Ethiopian calendar, the range is always 0 to 12. For other calendars supported by ICU now, the range is 0 to 11. When the number of months in a year of the identified calendar is variable, a different ORDINAL_MONTH value can be used for dates that are part of the same named month in different years. For example, in the Hebrew calendar, "1 Nisan 5781" is associated with ORDINAL_MONTH value 6 while "1 Nisan 5782" is associated with ORDINAL_MONTH value 7 because 5782 is a leap year and Nisan follows the insertion of Adar I. In Chinese calendar, "Year 4664 Month 6 Day 2" is associated with ORDINAL_MONTH value 5 while "Year 4665 Month 6 Day 2" is associated with ORDINAL_MONTH value 6 because 4665 is a leap year and there is an extra "Leap Month 5" which associated with ORDINAL_MONTH value 5 before "Month 6" of year 4664. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#PM:kotlin.Int` Value of the `AM_PM` field indicating the period of the day from noon to just before midnight. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#RESOLVE_REMAP:kotlin.Int` Value to OR against resolve table field values for remapping. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#SATURDAY:kotlin.Int` Value of the `DAY_OF_WEEK` field indicating Saturday. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#SECOND:kotlin.Int` Field number for `get` and `set` indicating the second within the minute. E.g., at 10:04:15.250 PM the `SECOND` is 15. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#SEPTEMBER:kotlin.Int` Value of the `MONTH` field indicating the ninth month of the year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#SUNDAY:kotlin.Int` Value of the `DAY_OF_WEEK` field indicating Sunday. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#THURSDAY:kotlin.Int` Value of the `DAY_OF_WEEK` field indicating Thursday. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#TUESDAY:kotlin.Int` Value of the `DAY_OF_WEEK` field indicating Tuesday. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#UNDECIMBER:kotlin.Int` Value of the `MONTH` field indicating the thirteenth month of the year. Although `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#` does not use this value, lunar calendars do. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#UNSET:kotlin.Int` Value of the time stamp `stamp[]` indicating that a field has not been set since the last call to `clear()`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#WALLTIME_FIRST:kotlin.Int` **\[icu\]** Option used by `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setRepeatedWallTimeOption(kotlin.Int)` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setSkippedWallTimeOption(kotlin.Int)` specifying an ambiguous wall time to be interpreted as the earliest. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#WALLTIME_LAST:kotlin.Int` **\[icu\]** Option used by `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setRepeatedWallTimeOption(kotlin.Int)` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setSkippedWallTimeOption(kotlin.Int)` specifying an ambiguous wall time to be interpreted as the latest. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#WALLTIME_NEXT_VALID:kotlin.Int` **\[icu\]** Option used by `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setSkippedWallTimeOption(kotlin.Int)` specifying an ambiguous wall time to be interpreted as the next valid wall time. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#WEDNESDAY:kotlin.Int` Value of the `DAY_OF_WEEK` field indicating Wednesday. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#WEEK_OF_MONTH:kotlin.Int` Field number for `get` and `set` indicating the week number within the current month. The first week of the month, as defined by `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getFirstDayOfWeek()` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getMinimalDaysInFirstWeek()`, has value 1. Subclasses define the value of `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#WEEK_OF_MONTH:kotlin.Int` for days before the first week of the month. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#WEEK_OF_YEAR:kotlin.Int` Field number for `get` and `set` indicating the week number within the current year. The first week of the year, as defined by `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getFirstDayOfWeek()` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getMinimalDaysInFirstWeek()`, has value 1. Subclasses define the value of `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#WEEK_OF_YEAR:kotlin.Int` for days before the first week of the year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#YEAR:kotlin.Int` Field number for `get` and `set` indicating the year. This is a calendar-specific value; see subclass documentation. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#YEAR_WOY:kotlin.Int` **\[icu\]** Field number for `get()` and `set()` indicating the extended year corresponding to the `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#WEEK_OF_YEAR:kotlin.Int` field. This may be one greater or less than the value of `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#EXTENDED_YEAR:kotlin.Int`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#ZONE_OFFSET:kotlin.Int` Field number for `get` and `set` indicating the raw offset from GMT in milliseconds. <br /> | ||

| Public constructors ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#GregorianCalendar()()` Constructs a default GregorianCalendar using the current time in the default time zone with the default `FORMAT` locale. |
| `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#GregorianCalendar(android.icu.util.TimeZone)(zone: https://developer.android.com/reference/kotlin/android/icu/util/TimeZone!)` Constructs a GregorianCalendar based on the current time in the given time zone with the default `FORMAT` locale. |
| `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#GregorianCalendar(android.icu.util.TimeZone,%20android.icu.util.ULocale)(zone: https://developer.android.com/reference/kotlin/android/icu/util/TimeZone!, locale: https://developer.android.com/reference/kotlin/android/icu/util/ULocale!)` Constructs a GregorianCalendar based on the current time in the given time zone with the given locale. |
| `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#GregorianCalendar(android.icu.util.TimeZone,%20java.util.Locale)(zone: https://developer.android.com/reference/kotlin/android/icu/util/TimeZone!, aLocale: https://developer.android.com/reference/kotlin/java/util/Locale.html#!)` **\[icu\]** Constructs a GregorianCalendar based on the current time in the given time zone with the given locale. |
| `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#GregorianCalendar(android.icu.util.ULocale)(locale: https://developer.android.com/reference/kotlin/android/icu/util/ULocale!)` **\[icu\]** Constructs a GregorianCalendar based on the current time in the default time zone with the given locale. |
| `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#GregorianCalendar(kotlin.Int,%20kotlin.Int,%20kotlin.Int)(year: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, month: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, date: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Constructs a GregorianCalendar with the given date set in the default time zone with the default `FORMAT` locale. |
| `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#GregorianCalendar(kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int)(year: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, month: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, date: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, hour: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, minute: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Constructs a GregorianCalendar with the given date and time set for the default time zone with the default `FORMAT` locale. |
| `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#GregorianCalendar(kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int)(year: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, month: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, date: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, hour: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, minute: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, second: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Constructs a GregorianCalendar with the given date and time set for the default time zone with the default `FORMAT` locale. |
| `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#GregorianCalendar(java.util.Locale)(aLocale: https://developer.android.com/reference/kotlin/java/util/Locale.html#!)` Constructs a GregorianCalendar based on the current time in the default time zone with the given locale. |

| Public methods ||
|---|---|
| open [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#clone()()` Overrides Cloneable |
| open [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#getActualMaximum(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Return the maximum value that this field could have, given the current date. |
| open [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#getActualMinimum(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Return the minimum value that this field could have, given the current date. |
| [Date](https://developer.android.com/reference/kotlin/java/util/Date.html#)! | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#getGregorianChange()()` Gets the Gregorian Calendar change date. |
| open [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)! | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#getType()()` **\[icu\]** Returns the calendar type name string for this Calendar object. |
| open [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#hashCode()()` Override hashCode. |
| open [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#isEquivalentTo(android.icu.util.Calendar)(other: https://developer.android.com/reference/kotlin/android/icu/util/Calendar!)` Returns true if the given Calendar object is equivalent to this one. |
| open [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#isLeapYear(kotlin.Int)(year: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Determines if the given year is a leap year. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#roll(kotlin.Int,%20kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, amount: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Roll a field by a signed amount. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#setGregorianChange(java.util.Date)(date: https://developer.android.com/reference/kotlin/java/util/Date.html#!)` Sets the GregorianCalendar change date. |

| Protected methods ||
|---|---|
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#handleComputeFields(kotlin.Int)(julianDay: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Override Calendar to compute several fields specific to the hybrid Gregorian-Julian calendar system. |
| open [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#handleComputeJulianDay(kotlin.Int)(bestField: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` <br /> |
| open [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#handleComputeMonthStart(kotlin.Int,%20kotlin.Int,%20kotlin.Boolean)(eyear: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, month: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, useMonth: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` Return JD of start of given month/year |
| open [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#handleGetExtendedYear()()` <br /> |
| open [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#handleGetLimit(kotlin.Int,%20kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, limitType: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` <br /> |
| open [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#handleGetMonthLength(kotlin.Int,%20kotlin.Int)(extendedYear: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, month: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` <br /> |
| open [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#handleGetYearLength(kotlin.Int)(eyear: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` <br /> |

| Inherited functions ||
|---|---|
| From class `https://developer.android.com/reference/kotlin/android/icu/util/Calendar` |---|---| | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#add(kotlin.Int,%20kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, amount: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Add a signed amount to a specified field, using this calendar's rules. For example, to add three days to the current date, you can call `add(Calendar.DATE, 3)`. When adding to certain fields, the values of other fields may conflict and need to be changed. For example, when adding one to the `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MONTH:kotlin.Int` field for the Gregorian date 1/31/96, the `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DAY_OF_MONTH:kotlin.Int` field must be adjusted so that the result is 2/29/96 rather than the invalid 2/31/96. Adding a positive value always means moving forward in time, so for the Gregorian calendar, starting with 100 BC and adding +1 to year results in 99 BC (even though this actually reduces the numeric value of the field itself). **\[icu\] Note:** The ICU implementation of this method is able to add to all fields except for `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#ERA:kotlin.Int`, `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DST_OFFSET:kotlin.Int`, and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#ZONE_OFFSET:kotlin.Int`. Subclasses may, of course, add support for additional fields in their overrides of `add`. **Note:** You should always use `roll` and `add` rather than attempting to perform arithmetic operations directly on the fields of a `Calendar`. It is quite possible for `Calendar` subclasses to have fields with non-linear behavior, for example missing months or days during non-leap years. The subclasses' `add` and `roll` methods will take this into account, while simple arithmetic manipulations may give invalid results. **Subclassing:** This implementation of `add` assumes that the behavior of the field is continuous between its minimum and maximum, which are found by calling `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getActualMinimum(kotlin.Int)` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getActualMaximum(kotlin.Int)`. For such fields, simple arithmetic operations are sufficient to perform the add. Subclasses that have fields for which this assumption of continuity breaks down must override `add` to handle those fields specially. For example, in the Hebrew calendar the month "Adar I" only occurs in leap years; in other years the calendar jumps from Shevat (month #4) to Adar (month #6). The `https://developer.android.com/reference/kotlin/android/icu/util/HebrewCalendar#add(kotlin.Int,%20kotlin.Int)` method takes this into account, so that adding one month to a date in Shevat gives the proper result (Adar) in a non-leap year. <br /> <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#after(kotlin.Any)(when: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html!)` Compares the time field records. Equivalent to comparing result of conversion to UTC. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#before(kotlin.Any)(when: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html!)` Compares the time field records. Equivalent to comparing result of conversion to UTC. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#clear()()` Clears the values of all the time fields. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#clear(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Clears the value in the given time field. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#compareTo(android.icu.util.Calendar)(other: https://developer.android.com/reference/kotlin/android/icu/util/Calendar!)` Compares the times (in millis) represented by two `Calendar` objects. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#complete()()` Fills in any unset fields in the time field list. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#computeFields()()` Converts the current millisecond time value `time` to field values in `fields[]`. This synchronizes the time field values with a new time that is set for the calendar. The time is *not* recomputed first; to recompute the time, then the fields, call the `complete` method. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#computeGregorianFields(kotlin.Int)(julianDay: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Compute the Gregorian calendar year, month, and day of month from the Julian day. These values are not stored in fields, but in member variables gregorianXxx. They are used for time zone computations and by subclasses that are Gregorian derivatives. Subclasses may call this method to perform a Gregorian calendar millis-\>fields computation. To perform a Gregorian calendar fields-\>millis computation, call computeGregorianMonthStart(). <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#computeGregorianMonthStart(kotlin.Int,%20kotlin.Int)(year: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, month: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Compute the Julian day of a month of the Gregorian calendar. Subclasses may call this method to perform a Gregorian calendar fields-\>millis computation. To perform a Gregorian calendar millis-\>fields computation, call computeGregorianFields(). <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#computeJulianDay()()` Compute the Julian day number as specified by this calendar's fields. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#computeMillisInDay()()` Compute the milliseconds in the day from the fields. This is a value from 0 to 23:59:59.999 inclusive, unless fields are out of range, in which case it can be an arbitrary value. This value reflects local zone wall time. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#computeTime()()` Converts the current field values in `fields[]` to the millisecond time value `time`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#computeZoneOffset(kotlin.Long,%20kotlin.Int)(millis: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html, millisInDay: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` This method can assume EXTENDED_YEAR has been set. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#equals(kotlin.Any)(other: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html?)` Compares this calendar to the specified object. The result is `true` if and only if the argument is not `null` and is a `Calendar` object that represents the same calendar as this object. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#fieldDifference(java.util.Date,%20kotlin.Int)(when: https://developer.android.com/reference/kotlin/java/util/Date.html#!, field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` **\[icu\]** Returns the difference between the given time and the time this calendar object is set to. If this calendar is set *before* the given time, the returned value will be positive. If this calendar is set *after* the given time, the returned value will be negative. The `field` parameter specifies the units of the return value. For example, if `fieldDifference(when, Calendar.MONTH)` returns 3, then this calendar is set to 3 months before , and possibly some additional time less than one month. As a side effect of this call, this calendar is advanced toward `when` by the given amount. That is, calling this method has the side effect of calling `add(field, n)`, where `n` is the return value. Usage: To use this method, call it first with the largest field of interest, then with progressively smaller fields. For example: ```kotlin int y = cal.fieldDifference(when, Calendar.YEAR); int m = cal.fieldDifference(when, Calendar.MONTH); int d = cal.fieldDifference(when, Calendar.DATE); ``` computes the difference between `cal` and `when` in years, months, and days. Note: `fieldDifference()` is *asymmetrical*. That is, in the following code: ```kotlin cal.setTime(date1); int m1 = cal.fieldDifference(date2, Calendar.MONTH); int d1 = cal.fieldDifference(date2, Calendar.DATE); cal.setTime(date2); int m2 = cal.fieldDifference(date1, Calendar.MONTH); int d2 = cal.fieldDifference(date1, Calendar.DATE); ``` one might expect that `m1 == -m2 && d1 == -d2`. However, this is not generally the case, because of irregularities in the underlying calendar system (e.g., the Gregorian calendar has a varying number of days per month). <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#fieldName(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns a string name for a field, for debugging and exceptions. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#floorDivide(kotlin.Int,%20kotlin.Int)(numerator: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, denominator: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Divide two integers, returning the floor of the quotient. Unlike the built-in division, this is mathematically well-behaved. E.g., `-1/4` =\> 0 but `floorDivide(-1,4)` =\> -1. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#floorDivide(kotlin.Int,%20kotlin.Int,%20kotlin.IntArray)(numerator: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, denominator: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, remainder: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int-array/index.html!)` Divide two integers, returning the floor of the quotient, and the modulus remainder. Unlike the built-in division, this is mathematically well-behaved. E.g., `-1/4` =\> 0 and `-1%4` =\> -1, but `floorDivide(-1,4)` =\> -1 with `remainder[0]` =\> 3. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#floorDivide(kotlin.Long,%20kotlin.Int,%20kotlin.IntArray)(numerator: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html, denominator: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, remainder: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int-array/index.html!)` Divide two integers, returning the floor of the quotient, and the modulus remainder. Unlike the built-in division, this is mathematically well-behaved. E.g., `-1/4` =\> 0 and `-1%4` =\> -1, but `floorDivide(-1,4)` =\> -1 with `remainder[0]` =\> 3. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#floorDivide(kotlin.Long,%20kotlin.Long)(numerator: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html, denominator: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` Divide two long integers, returning the floor of the quotient. Unlike the built-in division, this is mathematically well-behaved. E.g., `-1/4` =\> 0 but `floorDivide(-1,4)` =\> -1. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#get(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the value for a given time field. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html<https://developer.android.com/reference/kotlin/java/util/Locale.html#!>!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getAvailableLocales()()` Returns the list of locales for which Calendars are installed. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/text/DateFormat.html#!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getDateTimeFormat(kotlin.Int,%20kotlin.Int,%20android.icu.util.ULocale)(dateStyle: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, timeStyle: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, loc: https://developer.android.com/reference/kotlin/android/icu/util/ULocale!)` **\[icu\]** Returns a `DateFormat` appropriate to this calendar. Subclasses wishing to specialize this behavior should override #handleGetDateFormat. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/text/DateFormat.html#!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getDateTimeFormat(kotlin.Int,%20kotlin.Int,%20java.util.Locale)(dateStyle: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, timeStyle: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, loc: https://developer.android.com/reference/kotlin/java/util/Locale.html#!)` **\[icu\]** Returns a `DateFormat` appropriate to this calendar. Subclasses wishing to specialize this behavior should override #handleGetDateFormat. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getDisplayName(android.icu.util.ULocale)(loc: https://developer.android.com/reference/kotlin/android/icu/util/ULocale!)` Returns the name of this calendar in the language of the given locale. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getDisplayName(java.util.Locale)(loc: https://developer.android.com/reference/kotlin/java/util/Locale.html#!)` Returns the name of this calendar in the language of the given locale. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getFieldCount()()` **\[icu\]** Returns the number of fields defined by this calendar. Valid field arguments to `set()` and `get()` are `0..getFieldCount()-1`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int-array/index.html!>!>!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getFieldResolutionTable()()` Returns the field resolution array for this calendar. Calendars that define additional fields or change the semantics of existing fields should override this method to adjust the field resolution semantics accordingly. Other subclasses should not override this method. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getFirstDayOfWeek()()` Returns what the first day of the week is, where 1 = `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#SUNDAY:kotlin.Int` and 7 = `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#SATURDAY:kotlin.Int`. e.g., Sunday in US, Monday in France <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getGreatestMinimum(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the highest minimum value for the given field if varies. Otherwise same as getMinimum(). For Gregorian, no difference. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getGregorianDayOfMonth()()` Returns the day of month (1-based) on the Gregorian calendar as computed by `computeGregorianFields()`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getGregorianDayOfYear()()` Returns the day of year (1-based) on the Gregorian calendar as computed by `computeGregorianFields()`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getGregorianMonth()()` Returns the month (0-based) on the Gregorian calendar as computed by `computeGregorianFields()`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getGregorianYear()()` Returns the extended year on the Gregorian calendar as computed by `computeGregorianFields()`. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getInstance()()` Returns a calendar using the default time zone and locale. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getInstance(android.icu.util.TimeZone)(zone: https://developer.android.com/reference/kotlin/android/icu/util/TimeZone!)` Returns a calendar using the specified time zone and default locale. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getInstance(android.icu.util.TimeZone,%20android.icu.util.ULocale)(zone: https://developer.android.com/reference/kotlin/android/icu/util/TimeZone!, locale: https://developer.android.com/reference/kotlin/android/icu/util/ULocale!)` Returns a calendar with the specified time zone and locale. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getInstance(android.icu.util.TimeZone,%20java.util.Locale)(zone: https://developer.android.com/reference/kotlin/android/icu/util/TimeZone!, aLocale: https://developer.android.com/reference/kotlin/java/util/Locale.html#!)` Returns a calendar with the specified time zone and locale. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getInstance(android.icu.util.ULocale)(locale: https://developer.android.com/reference/kotlin/android/icu/util/ULocale!)` Returns a calendar using the default time zone and specified locale. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getInstance(java.util.Locale)(aLocale: https://developer.android.com/reference/kotlin/java/util/Locale.html#!)` Returns a calendar using the default time zone and specified locale. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!>!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getKeywordValuesForLocale(kotlin.String,%20android.icu.util.ULocale,%20kotlin.Boolean)(key: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!, locale: https://developer.android.com/reference/kotlin/android/icu/util/ULocale!, commonlyUsed: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` **\[icu\]** Given a key and a locale, returns an array of string values in a preferred order that would make a difference. These are all and only those values where the open (creation) of the service with the locale formed from the input locale plus input keyword and that value has different behavior than creation with the input locale alone. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getLeastMaximum(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the lowest maximum value for the given field if varies. Otherwise same as getMaximum(). e.g., for Gregorian DAY_OF_MONTH, 28. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getLimit(kotlin.Int,%20kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, limitType: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns a limit for a field. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getMaximum(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the maximum value for the given time field. e.g. for Gregorian DAY_OF_MONTH, 31. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getMinimalDaysInFirstWeek()()` Returns what the minimal days required in the first week of the year are. That is, if the first week is defined as one that contains the first day of the first month of a year, getMinimalDaysInFirstWeek returns 1. If the minimal days required must be a full week, getMinimalDaysInFirstWeek returns 7. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getMinimum(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the minimum value for the given time field. e.g., for Gregorian DAY_OF_MONTH, 1. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getRepeatedWallTimeOption()()` **\[icu\]**Gets the behavior for handling wall time repeating multiple times at negative time zone offset transitions. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getSkippedWallTimeOption()()` **\[icu\]**Gets the behavior for handling skipped wall time at positive time zone offset transitions. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getStamp(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the timestamp of a field. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getTemporalMonthCode()()` Gets The Temporal monthCode value corresponding to the month for the date. The value is a string identifier that starts with the literal grapheme "M" followed by two graphemes representing the zero-padded month number of the current month in a normal (non-leap) year and suffixed by an optional literal grapheme "L" if this is a leap month in a lunisolar calendar. The 25 possible values are "M01" .. "M13" and "M01L" .. "M12L". For the Hebrew calendar, the values are "M01" .. "M12" for non-leap year, and "M01" .. "M05", "M05L", "M06" .. "M12" for leap year. For the Chinese calendar, the values are "M01" .. "M12" for non-leap year and in leap year with another monthCode in "M01L" .. "M12L". For Coptic and Ethiopian calendar, the Temporal monthCode values for any years are "M01" to "M13". <br /> | | `https://developer.android.com/reference/kotlin/java/util/Date.html#!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getTime()()` Returns this Calendar's current time. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getTimeInMillis()()` Returns this Calendar's current time as a long. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/util/TimeZone!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getTimeZone()()` Returns the time zone. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar.WeekData!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getWeekData()()` **\[icu\]** Return simple, immutable struct-like class for access to the week data in this calendar. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar.WeekData!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getWeekDataForRegion(kotlin.String)(region: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!)` **\[icu\]** Return simple, immutable struct-like class for access to the CLDR week data. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#gregorianMonthLength(kotlin.Int,%20kotlin.Int)(y: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, m: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the length of a month of the Gregorian calendar. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#gregorianPreviousMonthLength(kotlin.Int,%20kotlin.Int)(y: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, m: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the length of a previous month of the Gregorian calendar. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int-array/index.html!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#handleCreateFields()()` Subclasses that use additional fields beyond those defined in `Calendar` should override this method to return an `int[]` array of the appropriate length. The length must be at least `BASE_FIELD_COUNT` and no more than `MAX_FIELD_COUNT`. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/text/DateFormat.html#!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#handleGetDateFormat(kotlin.String,%20android.icu.util.ULocale)(pattern: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!, locale: https://developer.android.com/reference/kotlin/android/icu/util/ULocale!)` Creates a `DateFormat` appropriate to this calendar. This is a framework method for subclasses to override. This method is responsible for creating the calendar-specific DateFormat and DateFormatSymbols objects as needed. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/text/DateFormat.html#!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#handleGetDateFormat(kotlin.String,%20kotlin.String,%20java.util.Locale)(pattern: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!, override: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!, locale: https://developer.android.com/reference/kotlin/java/util/Locale.html#!)` Creates a `DateFormat` appropriate to this calendar. This is a framework method for subclasses to override. This method is responsible for creating the calendar-specific DateFormat and DateFormatSymbols objects as needed. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/text/DateFormat.html#!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#handleGetDateFormat(kotlin.String,%20java.util.Locale)(pattern: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!, locale: https://developer.android.com/reference/kotlin/java/util/Locale.html#!)` Creates a `DateFormat` appropriate to this calendar. This is a framework method for subclasses to override. This method is responsible for creating the calendar-specific DateFormat and DateFormatSymbols objects as needed. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#inTemporalLeapYear()()` **\[icu\]** Returns true if the date is in a leap year. Recalculate the current time field values if the time value has been changed by a call to \* setTime(). This method is semantically const, but may alter the object in memory. A "leap year" is a year that contains more days than other years (for solar or lunar calendars) or more months than other years (for lunisolar calendars like Hebrew or Chinese), as defined in the ECMAScript Temporal proposal. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#internalGet(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the value for a given time field. This is an internal method for subclasses that does *not* trigger any calculations. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#internalGet(kotlin.Int,%20kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, defaultValue: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the value for a given time field, or return the given default value if the field is not set. This is an internal method for subclasses that does *not* trigger any calculations. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#internalGetTimeInMillis()()` Returns the current milliseconds without recomputing. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#internalSet(kotlin.Int,%20kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, value: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Set a field to a value. Subclasses should use this method when computing fields. It sets the time stamp in the `stamp[]` array to `INTERNALLY_SET`. If a field that may not be set by subclasses is passed in, an `IllegalArgumentException` is thrown. This prevents subclasses from modifying fields that are intended to be calendar-system invariant. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#isGregorianLeapYear(kotlin.Int)(year: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Determines if the given year is a leap year. Returns true if the given year is a leap year. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#isLenient()()` Tell whether date/time interpretation is to be lenient. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#isSet(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Determines if the given time field has a value set. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#isWeekend()()` **\[icu\]** Returns true if this Calendar's current date and time is in the weekend in this calendar system. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#isWeekend(java.util.Date)(date: https://developer.android.com/reference/kotlin/java/util/Date.html#!)` **\[icu\]** Returns true if the given date and time is in the weekend in this calendar system. Equivalent to calling setTime() followed by isWeekend(). Note: This method changes the time this calendar is set to. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#julianDayToDayOfWeek(kotlin.Int)(julian: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the day of week, from SUNDAY to SATURDAY, given a Julian day. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#julianDayToMillis(kotlin.Int)(julian: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Converts Julian day to time as milliseconds. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#millisToJulianDay(kotlin.Long)(millis: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` Converts time as milliseconds to Julian day. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#newerField(kotlin.Int,%20kotlin.Int)(defaultField: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, alternateField: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the field that is newer, either defaultField, or alternateField. If neither is newer or neither is set, return defaultField. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#newestStamp(kotlin.Int,%20kotlin.Int,%20kotlin.Int)(first: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, last: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, bestStampSoFar: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the newest stamp of a given range of fields. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#pinField(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Adjust the specified field so that it is within the allowable range for the date to which this calendar is set. For example, in a Gregorian calendar pinning the `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DAY_OF_MONTH:kotlin.Int` field for a calendar set to April 31 would cause it to be set to April 30. **Subclassing:** This utility method is intended for use by subclasses that need to implement their own overrides of #roll and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#add(kotlin.Int,%20kotlin.Int)`. **Note:** `pinField` is implemented in terms of `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getActualMinimum(kotlin.Int)` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getActualMaximum(kotlin.Int)`. If either of those methods uses a slow, iterative algorithm for a particular field, it would be unwise to attempt to call `pinField` for that field. If you really do need to do so, you should override this method to do something more efficient for that field. <br /> <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#prepareGetActual(kotlin.Int,%20kotlin.Boolean)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, isMinimum: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` Prepare this calendar for computing the actual minimum or maximum. This method modifies this calendar's fields; it is called on a temporary calendar. Rationale: The semantics of getActualXxx() is to return the maximum or minimum value that the given field can take, taking into account other relevant fields. In general these other fields are larger fields. For example, when computing the actual maximum DAY_OF_MONTH, the current value of DAY_OF_MONTH itself is ignored, as is the value of any field smaller. The time fields all have fixed minima and maxima, so we don't need to worry about them. This also lets us set the MILLISECONDS_IN_DAY to zero to erase any effects the time fields might have when computing date fields. DAY_OF_WEEK is adjusted specially for the WEEK_OF_MONTH and WEEK_OF_YEAR fields to ensure that they are computed correctly. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#resolveFields(kotlin.Array)(precedenceTable: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int-array/index.html!>!>!)` Given a precedence table, return the newest field combination in the table, or -1 if none is found. The precedence table is a 3-dimensional array of integers. It may be thought of as an array of groups. Each group is an array of lines. Each line is an array of field numbers. Within a line, if all fields are set, then the time stamp of the line is taken to be the stamp of the most recently set field. If any field of a line is unset, then the line fails to match. Within a group, the line with the newest time stamp is selected. The first field of the line is returned to indicate which line matched. In some cases, it may be desirable to map a line to field that whose stamp is NOT examined. For example, if the best field is DAY_OF_WEEK then the DAY_OF_WEEK_IN_MONTH algorithm may be used. In order to do this, insert the value `REMAP_RESOLVE | F` at the start of the line, where `F` is the desired return field value. This field will NOT be examined; it only determines the return value if the other fields in the line are the newest. If all lines of a group contain at least one unset field, then no line will match, and the group as a whole will fail to match. In that case, the next group will be processed. If all groups fail to match, then -1 is returned. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#roll(kotlin.Int,%20kotlin.Boolean)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, up: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` Rolls (up/down) a single unit of time on the given field. If the field is rolled past its maximum allowable value, it will "wrap" back to its minimum and continue rolling. For example, to roll the current date up by one day, you can call: ``roll(`https://developer.android.com/reference/kotlin/android/icu/util/Calendar#DATE:kotlin.Int`, true)`` When rolling on the `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#YEAR:kotlin.Int` field, it will roll the year value in the range between 1 and the value returned by calling `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getMaximum(kotlin.Int)`(`https://developer.android.com/reference/kotlin/android/icu/util/Calendar#YEAR:kotlin.Int`). When rolling on certain fields, the values of other fields may conflict and need to be changed. For example, when rolling the `MONTH` field for the Gregorian date 1/31/96 upward, the `DAY_OF_MONTH` field must be adjusted so that the result is 2/29/96 rather than the invalid 2/31/96. Rolling up always means rolling forward in time (unless the limit of the field is reached, in which case it may pin or wrap), so for the Gregorian calendar, starting with 100 BC and rolling the year up results in 99 BC. When eras have a definite beginning and end (as in the Chinese calendar, or as in most eras in the Japanese calendar) then rolling the year past either limit of the era will cause the year to wrap around. When eras only have a limit at one end, then attempting to roll the year past that limit will result in pinning the year at that limit. Note that for most calendars in which era 0 years move forward in time (such as Buddhist, Hebrew, or Islamic), it is possible for add or roll to result in negative years for era 0 (that is the only way to represent years before the calendar epoch in such calendars). **Note:** Calling `roll(field, true)` N times is *not* necessarily equivalent to calling `roll(field, N)`. For example, imagine that you start with the date Gregorian date January 31, 1995. If you call `roll(Calendar.MONTH, 2)`, the result will be March 31, 1995. But if you call `roll(Calendar.MONTH, true)`, the result will be February 28, 1995. Calling it one more time will give March 28, 1995, which is usually not the desired result. **Note:** You should always use `roll` and `add` rather than attempting to perform arithmetic operations directly on the fields of a `Calendar`. It is quite possible for `Calendar` subclasses to have fields with non-linear behavior, for example missing months or days during non-leap years. The subclasses' `add` and `roll` methods will take this into account, while simple arithmetic manipulations may give invalid results. <br /> <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#set(kotlin.Int,%20kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, value: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Sets the time field with the given value. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#set(kotlin.Int,%20kotlin.Int,%20kotlin.Int)(year: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, month: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, date: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Sets the values for the fields year, month, and date. Previous values of other fields are retained. If this is not desired, call `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#clear()` first. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#set(kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int)(year: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, month: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, date: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, hour: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, minute: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Sets the values for the fields year, month, date, hour, and minute. Previous values of other fields are retained. If this is not desired, call `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#clear()` first. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#set(kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int)(year: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, month: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, date: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, hour: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, minute: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, second: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Sets the values for the fields year, month, date, hour, minute, and second. Previous values of other fields are retained. If this is not desired, call #clear first. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setFirstDayOfWeek(kotlin.Int)(value: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Sets what the first day of the week is, where 1 = `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#SUNDAY:kotlin.Int` and 7 = `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#SATURDAY:kotlin.Int`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setLenient(kotlin.Boolean)(lenient: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` Specify whether or not date/time interpretation is to be lenient. With lenient interpretation, a date such as "February 942, 1996" will be treated as being equivalent to the 941st day after February 1, 1996. With strict interpretation, such dates will cause an exception to be thrown. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setMinimalDaysInFirstWeek(kotlin.Int)(value: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Sets what the minimal days required in the first week of the year are. For example, if the first week is defined as one that contains the first day of the first month of a year, call the method with value 1. If it must be a full week, use value 7. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setRepeatedWallTimeOption(kotlin.Int)(option: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` **\[icu\]** Sets the behavior for handling wall time repeating multiple times at negative time zone offset transitions. For example, 1:30 AM on November 6, 2011 in US Eastern time (America/New_York) occurs twice; 1:30 AM EDT, then 1:30 AM EST one hour later. When `WALLTIME_FIRST` is used, the wall time 1:30AM in this example will be interpreted as 1:30 AM EDT (first occurrence). When `WALLTIME_LAST` is used, it will be interpreted as 1:30 AM EST (last occurrence). The default value is `WALLTIME_LAST`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setSkippedWallTimeOption(kotlin.Int)(option: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` **\[icu\]** Sets the behavior for handling skipped wall time at positive time zone offset transitions. For example, 2:30 AM on March 13, 2011 in US Eastern time (America/New_York) does not exist because the wall time jump from 1:59 AM EST to 3:00 AM EDT. When `WALLTIME_FIRST` is used, 2:30 AM is interpreted as 30 minutes before 3:00 AM EDT, therefore, it will be resolved as 1:30 AM EST. When `WALLTIME_LAST` is used, 2:30 AM is interpreted as 31 minutes after 1:59 AM EST, therefore, it will be resolved as 3:30 AM EDT. When `WALLTIME_NEXT_VALID` is used, 2:30 AM will be resolved as next valid wall time, that is 3:00 AM EDT. The default value is `WALLTIME_LAST`. **Note:** This option is effective only when this calendar is `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#isLenient()`. When the calendar is strict, such non-existing wall time will cause an exception. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setTemporalMonthCode(kotlin.String)(temporalMonth: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!)` Sets The Temporal monthCode which is a string identifier that starts with the literal grapheme "M" followed by two graphemes representing the zero-padded month number of the current month in a normal (non-leap) year and suffixed by an optional literal grapheme "L" if this is a leap month in a lunisolar calendar. The 25 possible values are "M01" .. "M13" and "M01L" .. "M12L". For Hebrew calendar, the values are "M01" .. "M12" for non-leap years, and "M01" .. "M05", "M05L", "M06" .. "M12" for leap year. For the Chinese calendar, the values are "M01" .. "M12" for non-leap year and in leap year with another monthCode in "M01L" .. "M12L". For Coptic and Ethiopian calendar, the Temporal monthCode values for any years are "M01" to "M13". <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setTime(java.util.Date)(date: https://developer.android.com/reference/kotlin/java/util/Date.html#!)` Sets this Calendar's current time with the given Date. Note: Calling `setTime` with `Date(Long.MAX_VALUE)` or `Date(Long.MIN_VALUE)` may yield incorrect field values from `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#get(kotlin.Int)`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setTimeInMillis(kotlin.Long)(millis: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` Sets this Calendar's current time from the given long value. An IllegalIcuArgumentException is thrown when millis is outside the range permitted by a Calendar object when in strict mode. When in lenient mode the out of range values are pinned to their respective min/max. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setTimeZone(android.icu.util.TimeZone)(value: https://developer.android.com/reference/kotlin/android/icu/util/TimeZone!)` Sets the time zone with the given time zone value. <br /> | | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#setWeekData(android.icu.util.Calendar.WeekData)(wdata: https://developer.android.com/reference/kotlin/android/icu/util/Calendar.WeekData!)` **\[icu\]** Set data in this calendar based on the WeekData input. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#toString()()` Returns a string representation of this calendar. This method is intended to be used only for debugging purposes, and the format of the returned string may vary between implementations. The returned string may be empty but may not be `null`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#validateField(kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Validate a single field of this calendar. Subclasses should override this method to validate any calendar-specific fields. Generic fields can be handled by `Calendar.validateField()`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#validateField(kotlin.Int,%20kotlin.Int,%20kotlin.Int)(field: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, min: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, max: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Validate a single field of this calendar given its minimum and maximum allowed value. If the field is out of range, throw a descriptive `IllegalArgumentException`. Subclasses may use this method in their implementation of `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#validateField(kotlin.Int)`. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#validateFields()()` Ensure that each field is within its valid range by calling `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#validateField(kotlin.Int)` on each field that has been set. This method should only be called if this calendar is not lenient. <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#weekNumber(kotlin.Int,%20kotlin.Int)(dayOfPeriod: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, dayOfWeek: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the week number of a day, within a period. This may be the week number in a year, or the week number in a month. Usually this will be a value \>= 1, but if some initial days of the period are excluded from week 1, because `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getMinimalDaysInFirstWeek()` is \> 1, then the week number will be zero for those initial days. This method requires the day of week for the given date in order to determine the result. **Subclassing:** This method is intended for use by subclasses in implementing their `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#computeTime()` and/or `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#computeFields()` methods. It is often useful in `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getActualMinimum(kotlin.Int)` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getActualMaximum(kotlin.Int)` as well. <br /> <br /> | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#weekNumber(kotlin.Int,%20kotlin.Int,%20kotlin.Int)(desiredDay: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, dayOfPeriod: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, dayOfWeek: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Returns the week number of a day, within a period. This may be the week number in a year or the week number in a month. Usually this will be a value \>= 1, but if some initial days of the period are excluded from week 1, because `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getMinimalDaysInFirstWeek()` is \> 1, then the week number will be zero for those initial days. This method requires the day number and day of week for some known date in the period in order to determine the day of week on the desired day. **Subclassing:** This method is intended for use by subclasses in implementing their `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#computeTime()` and/or `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#computeFields()` methods. It is often useful in `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getActualMinimum(kotlin.Int)` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#getActualMaximum(kotlin.Int)` as well. This variant is handy for computing the week number of some other day of a period (often the first or last day of the period) when its day of the week is not known but the day number and day of week for some other day in the period (e.g. the current date) *is* known. <br /> <br /> | ||

| Properties ||
|---|---|
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#invertGregorian:kotlin.Boolean` Used by handleComputeJulianDay() and handleComputeMonthStart(). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | `https://developer.android.com/reference/kotlin/android/icu/util/GregorianCalendar#isGregorian:kotlin.Boolean` Used by handleComputeJulianDay() and handleComputeMonthStart(). |

| Inherited properties ||
|---|---|
| From class `https://developer.android.com/reference/kotlin/android/icu/util/Calendar` |---|---| | `https://developer.android.com/reference/kotlin/java/util/Date.html#!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MAX_DATE:java.util.Date` The maximum supported `Date`. This value is equivalent to `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MAX_JULIAN:kotlin.Int` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MAX_MILLIS:kotlin.Long`. <br /> | | `https://developer.android.com/reference/kotlin/java/util/Date.html#!` | `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MIN_DATE:java.util.Date` The minimum supported `Date`. This value is equivalent to `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MIN_JULIAN:kotlin.Int` and `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#MIN_MILLIS:kotlin.Long`. <br /> | ||

## Constants

### AD

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
static val AD: Int
```

Value of the `ERA` field indicating the common era (Anno Domini), also known as CE. The sequence of years at the transition from `BC` to `AD` is ..., 2 BC, 1 BC, 1 AD, 2 AD,...

    Value: 1

**See Also**

- `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#ERA:kotlin.Int`

### BC

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
static val BC: Int
```

Value of the `ERA` field indicating the period before the common era (before Christ), also known as BCE. The sequence of years at the transition from `BC` to `AD` is ..., 2 BC, 1 BC, 1 AD, 2 AD,...

    Value: 0

**See Also**

- `https://developer.android.com/reference/kotlin/android/icu/util/Calendar#ERA:kotlin.Int`

## Public constructors

### GregorianCalendar

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
GregorianCalendar()
```

Constructs a default GregorianCalendar using the current time in the default time zone with the default `FORMAT` locale.
**See Also**

- `https://developer.android.com/reference/kotlin/android/icu/util/ULocale.Category`

### GregorianCalendar

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
GregorianCalendar(zone: TimeZone!)
```

Constructs a GregorianCalendar based on the current time in the given time zone with the default `FORMAT` locale.

| Parameters ||
|---|---|
| `zone` | [TimeZone](https://developer.android.com/reference/kotlin/android/icu/util/TimeZone)!: the given time zone. |

**See Also**

- `https://developer.android.com/reference/kotlin/android/icu/util/ULocale.Category`

### GregorianCalendar

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
GregorianCalendar(
    zone: TimeZone!, 
    locale: ULocale!)
```

Constructs a GregorianCalendar based on the current time in the given time zone with the given locale.

| Parameters ||
|---|---|
| `zone` | [TimeZone](https://developer.android.com/reference/kotlin/android/icu/util/TimeZone)!: the given time zone. |
| `locale` | [ULocale](https://developer.android.com/reference/kotlin/android/icu/util/ULocale)!: the given ulocale. |

### GregorianCalendar

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
GregorianCalendar(
    zone: TimeZone!, 
    aLocale: Locale!)
```

**\[icu\]** Constructs a GregorianCalendar based on the current time in the given time zone with the given locale.

| Parameters ||
|---|---|
| `zone` | [TimeZone](https://developer.android.com/reference/kotlin/android/icu/util/TimeZone)!: the given time zone. |
| `aLocale` | [Locale](https://developer.android.com/reference/kotlin/java/util/Locale.html#)!: the given locale. |

### GregorianCalendar

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
GregorianCalendar(locale: ULocale!)
```

**\[icu\]** Constructs a GregorianCalendar based on the current time in the default time zone with the given locale.

| Parameters ||
|---|---|
| `locale` | [ULocale](https://developer.android.com/reference/kotlin/android/icu/util/ULocale)!: the given ulocale. |

### GregorianCalendar

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
GregorianCalendar(
    year: Int, 
    month: Int, 
    date: Int)
```

Constructs a GregorianCalendar with the given date set in the default time zone with the default `FORMAT` locale.

| Parameters ||
|---|---|
| `year` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the YEAR time field in the calendar. |
| `month` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the MONTH time field in the calendar. Month value is 0-based. e.g., 0 for January. |
| `date` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the DATE time field in the calendar. |

**See Also**

- `https://developer.android.com/reference/kotlin/android/icu/util/ULocale.Category`

### GregorianCalendar

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
GregorianCalendar(
    year: Int, 
    month: Int, 
    date: Int, 
    hour: Int, 
    minute: Int)
```

Constructs a GregorianCalendar with the given date and time set for the default time zone with the default `FORMAT` locale.

| Parameters ||
|---|---|
| `year` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the YEAR time field in the calendar. |
| `month` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the MONTH time field in the calendar. Month value is 0-based. e.g., 0 for January. |
| `date` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the DATE time field in the calendar. |
| `hour` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the HOUR_OF_DAY time field in the calendar. |
| `minute` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the MINUTE time field in the calendar. |

**See Also**

- `https://developer.android.com/reference/kotlin/android/icu/util/ULocale.Category`

### GregorianCalendar

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
GregorianCalendar(
    year: Int, 
    month: Int, 
    date: Int, 
    hour: Int, 
    minute: Int, 
    second: Int)
```

Constructs a GregorianCalendar with the given date and time set for the default time zone with the default `FORMAT` locale.

| Parameters ||
|---|---|
| `year` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the YEAR time field in the calendar. |
| `month` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the MONTH time field in the calendar. Month value is 0-based. e.g., 0 for January. |
| `date` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the DATE time field in the calendar. |
| `hour` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the HOUR_OF_DAY time field in the calendar. |
| `minute` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the MINUTE time field in the calendar. |
| `second` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the value used to set the SECOND time field in the calendar. |

**See Also**

- `https://developer.android.com/reference/kotlin/android/icu/util/ULocale.Category`

### GregorianCalendar

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
GregorianCalendar(aLocale: Locale!)
```

Constructs a GregorianCalendar based on the current time in the default time zone with the given locale.

| Parameters ||
|---|---|
| `aLocale` | [Locale](https://developer.android.com/reference/kotlin/java/util/Locale.html#)!: the given locale. |

## Public methods

### clone

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun clone(): Any
```

Overrides Cloneable

| Return ||
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html` | a clone of this instance. |

| Exceptions ||
|---|---|
| `java.lang.CloneNotSupportedException` | if the object's class does not support the `Cloneable` interface. Subclasses that override the `clone` method can also throw this exception to indicate that an instance cannot be cloned. |

### getActualMaximum

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun getActualMaximum(field: Int): Int
```

Return the maximum value that this field could have, given the current date. For example, with the date "Feb 3, 1997" and the DAY_OF_MONTH field, the actual maximum would be 28; for "Feb 3, 1996" it s 29. Similarly for a Hebrew calendar, for some years the actual maximum for MONTH is 12, and for others 13.

| Parameters ||
|---|---|
| `field` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the field whose maximum is desired |

| Return ||
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | the maximum of the given field for the current date of this calendar |

### getActualMinimum

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun getActualMinimum(field: Int): Int
```

Return the minimum value that this field could have, given the current date. For the Gregorian calendar, this is the same as getMinimum() and getGreatestMinimum().

| Parameters ||
|---|---|
| `field` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the field whose actual minimum value is desired. |

| Return ||
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | the minimum of the given field for the current date of this calendar |

### getGregorianChange

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
fun getGregorianChange(): Date!
```

Gets the Gregorian Calendar change date. This is the point when the switch from Julian dates to Gregorian dates occurred. Default is October 15, 1582. Previous to this, dates will be in the Julian calendar.

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/java/util/Date.html#!` | the Gregorian cutover date for this calendar. |

### getType

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun getType(): String!
```

**\[icu\]** Returns the calendar type name string for this Calendar object. The returned string is the legacy ICU calendar attribute value, for example, "gregorian" or "japanese".

See type="old type name" for the calendar attribute of locale IDs at http://www.unicode.org/reports/tr35/#Key_Type_Definitions

| Return ||
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html!` | legacy calendar type name string |

### hashCode

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun hashCode(): Int
```

Override hashCode. Generates the hash code for the GregorianCalendar object

| Return ||
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | a hash code value for this object. |

### isEquivalentTo

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun isEquivalentTo(other: Calendar!): Boolean
```

Returns true if the given Calendar object is equivalent to this one. Calendar override.

| Parameters ||
|---|---|
| `other` | [Calendar](https://developer.android.com/reference/kotlin/android/icu/util/Calendar)!: the Calendar to be compared with this Calendar |

### isLeapYear

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun isLeapYear(year: Int): Boolean
```

Determines if the given year is a leap year. Returns true if the given year is a leap year.

| Parameters ||
|---|---|
| `year` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the given year. |

| Return ||
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | true if the given year is a leap year; false otherwise. |

### roll

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun roll(
    field: Int, 
    amount: Int
): Unit
```

Roll a field by a signed amount.

| Parameters ||
|---|---|
| `field` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the calendar field to roll. |
| `amount` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the amount by which the field should be rolled. |

| Exceptions ||
|---|---|
| `java.lang.IllegalArgumentException` | if the field is invalid or refers to a field that cannot be handled by this method. |

### setGregorianChange

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun setGregorianChange(date: Date!): Unit
```

Sets the GregorianCalendar change date. This is the point when the switch from Julian dates to Gregorian dates occurred. Default is October 15, 1582. Previous to this, dates will be in the Julian calendar.

To obtain a pure Julian calendar, set the change date to `Date(Long.MAX_VALUE)`. To obtain a pure Gregorian calendar, set the change date to `Date(Long.MIN_VALUE)`.

| Parameters ||
|---|---|
| `date` | [Date](https://developer.android.com/reference/kotlin/java/util/Date.html#)!: the given Gregorian cutover date. |

## Protected methods

### handleComputeFields

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
protected open fun handleComputeFields(julianDay: Int): Unit
```

Override Calendar to compute several fields specific to the hybrid Gregorian-Julian calendar system. These are:

- ERA
- YEAR
- MONTH
- DAY_OF_MONTH
- DAY_OF_YEAR
- EXTENDED_YEAR

<br />

### handleComputeJulianDay

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
protected open fun handleComputeJulianDay(bestField: Int): Int
```

### handleComputeMonthStart

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
protected open fun handleComputeMonthStart(
    eyear: Int, 
    month: Int, 
    useMonth: Boolean
): Int
```

Return JD of start of given month/year

| Parameters ||
|---|---|
| `eyear` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the extended year |
| `month` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the zero-based month, or 0 if useMonth is false |
| `useMonth` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html): if false, compute the day before the first day of the given year, otherwise, compute the day before the first day of the given month |

| Return ||
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | the Julian day number of the day before the first day of the given month and year |

### handleGetExtendedYear

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
protected open fun handleGetExtendedYear(): Int
```

| Return ||
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | the extended year |

### handleGetLimit

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
protected open fun handleGetLimit(
    field: Int, 
    limitType: Int
): Int
```

| Parameters ||
|---|---|
| `field` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): one of the above field numbers |
| `limitType` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): one of `MINIMUM`, `GREATEST_MINIMUM`, `LEAST_MAXIMUM`, or `MAXIMUM` |

### handleGetMonthLength

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
protected open fun handleGetMonthLength(
    extendedYear: Int, 
    month: Int
): Int
```

### handleGetYearLength

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
protected open fun handleGetYearLength(eyear: Int): Int
```

## Properties

### invertGregorian

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
protected var invertGregorian: Boolean
```

Used by handleComputeJulianDay() and handleComputeMonthStart().

### isGregorian

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
protected var isGregorian: Boolean
```

Used by handleComputeJulianDay() and handleComputeMonthStart().