Implements the Gregorian/Julian calendar system which is the calendar system
used in most of the world. Wherever possible, it is recommended to use the
ISOChronology instead.

The Gregorian calendar replaced the Julian calendar, and the point in time
when this chronology switches can be controlled using the second parameter
of the getInstance method. By default this cutover is set to the date the
Gregorian calendar was first instituted, October 15, 1582.

Before this date, this chronology uses the proleptic Julian calendar
(proleptic means extending indefinitely). The Julian calendar has leap years
every four years, whereas the Gregorian has special rules for 100 and 400
years. A meaningful result will thus be obtained for all input values.
However before 8 CE, Julian leap years were irregular, and before 45 BCE
there was no Julian calendar.

This chronology differs from
GregorianCalendar in that years
in BCE are returned correctly. Thus year 1 BCE is returned as -1 instead of 1.
The yearOfEra field produces results compatible with GregorianCalendar.

The Julian calendar does not have a year zero, and so year -1 is followed by
year 1. If the Gregorian cutover date is specified at or before year -1
(Julian), year zero is defined. In other words, the proleptic Gregorian
chronology used by this class has a year zero.

Factory method returns instances of the default GJ cutover
chronology. This uses a cutover date of October 15, 1582 (Gregorian)
00:00:00 UTC. For this value, October 4, 1582 (Julian) is followed by
October 15, 1582 (Gregorian).

The first day of the week is designated to be
Monday,
and the minimum days in the first week of the year is 4.

Factory method returns instances of the default GJ cutover
chronology. This uses a cutover date of October 15, 1582 (Gregorian)
00:00:00 UTC. For this value, October 4, 1582 (Julian) is followed by
October 15, 1582 (Gregorian).

The first day of the week is designated to be
Monday,
and the minimum days in the first week of the year is 4.

Factory method returns instances of the GJ cutover chronology. This uses
a cutover date of October 15, 1582 (Gregorian) 00:00:00 UTC. For this
value, October 4, 1582 (Julian) is followed by October 15, 1582
(Gregorian).

The first day of the week is designated to be
Monday,
and the minimum days in the first week of the year is 4.

Cutover field for variable length fields. These fields internally call
set whenever add is called. As a result, the same correction applied to
set must be applied to add and addWrapField. Knowing when to use this
field requires specific knowledge of how the GJ fields are implemented.