Class CopticCalendar

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<Calendar>

    public final class CopticCalendar
    extends Calendar
    Implement the Coptic calendar system.

    CopticCalendar usually should be instantiated using Calendar.getInstance(ULocale) passing in a ULocale with the tag "@calendar=coptic".

    See Also:
    Calendar, Serialized Form
    • Field Detail

      • TOUT

        public static final int TOUT
        Constant for ωογτ / تﻮﺗ, the 1st month of the Coptic year.
        See Also:
        Constant Field Values
      • BABA

        public static final int BABA
        Constant for Παοπι / ﻪﺑﺎﺑ, the 2nd month of the Coptic year.
        See Also:
        Constant Field Values
      • HATOR

        public static final int HATOR
        Constant for Αθορ / رﻮﺗﺎﻫ, the 3rd month of the Coptic year.
        See Also:
        Constant Field Values
      • KIAHK

        public static final int KIAHK
        Constant for Χοιακ / ﻚﻬﻴﻛ;, the 4th month of the Coptic year.
        See Also:
        Constant Field Values
      • TOBA

        public static final int TOBA
        Constant for Τωβι / طﻮﺒﻫ, the 5th month of the Coptic year.
        See Also:
        Constant Field Values
      • AMSHIR

        public static final int AMSHIR
        Constant for Μεϣιρ / ﺮﻴﺸﻣأ, the 6th month of the Coptic year.
        See Also:
        Constant Field Values
      • BARAMHAT

        public static final int BARAMHAT
        Constant for Παρεμϩατ / تﺎﻬﻣﺮﺑ, the 7th month of the Coptic year.
        See Also:
        Constant Field Values
      • BARAMOUDA

        public static final int BARAMOUDA
        Constant for Φαρμοθι / هدﻮﻣﺮﺑ, the 8th month of the Coptic year.
        See Also:
        Constant Field Values
      • BASHANS

        public static final int BASHANS
        Constant for Παϣαν / ﺲﻨﺸﺑ;, the 9th month of the Coptic year.
        See Also:
        Constant Field Values
      • PAONA

        public static final int PAONA
        Constant for Παωνι / ﻪﻧؤﻮﺑ, the 10th month of the Coptic year.
        See Also:
        Constant Field Values
      • EPEP

        public static final int EPEP
        Constant for Επηπ / ﺐﻴﺑأ, the 11th month of the Coptic year.
        See Also:
        Constant Field Values
      • MESRA

        public static final int MESRA
        Constant for Μεϲωρη / ىﺮﺴﻣ, the 12th month of the Coptic year.
        See Also:
        Constant Field Values
      • NASIE

        public static final int NASIE
        Constant for Πικογϫι μαβοτ / ﺮﻴﻐﺼﻟاﺮﻬﺸﻟا, the 13th month of the Coptic year.
        See Also:
        Constant Field Values
    • Constructor Detail

      • CopticCalendar

        public CopticCalendar()
        Constructs a default CopticCalendar using the current time in the default time zone with the default locale.
      • CopticCalendar

        public CopticCalendar​(TimeZone zone)
        Constructs a CopticCalendar based on the current time in the given time zone with the default locale.
        Parameters:
        zone - The time zone for the new calendar.
      • CopticCalendar

        public CopticCalendar​(java.util.Locale aLocale)
        Constructs a CopticCalendar based on the current time in the default time zone with the given locale.
        Parameters:
        aLocale - The locale for the new calendar.
      • CopticCalendar

        public CopticCalendar​(ULocale locale)
        Constructs a CopticCalendar based on the current time in the default time zone with the given locale.
        Parameters:
        locale - The icu locale for the new calendar.
      • CopticCalendar

        public CopticCalendar​(TimeZone zone,
                              java.util.Locale aLocale)
        Constructs a CopticCalendar based on the current time in the given time zone with the given locale.
        Parameters:
        zone - The time zone for the new calendar.
        aLocale - The locale for the new calendar.
      • CopticCalendar

        public CopticCalendar​(TimeZone zone,
                              ULocale locale)
        Constructs a CopticCalendar based on the current time in the given time zone with the given locale.
        Parameters:
        zone - The time zone for the new calendar.
        locale - The icu locale for the new calendar.
      • CopticCalendar

        public CopticCalendar​(int year,
                              int month,
                              int date)
        Constructs a CopticCalendar with the given date set in the default time zone with the default locale.
        Parameters:
        year - The value used to set the calendar's YEAR time field.
        month - The value used to set the calendar's MONTH time field. The value is 0-based. e.g., 0 for Tout.
        date - The value used to set the calendar's DATE time field.
      • CopticCalendar

        public CopticCalendar​(java.util.Date date)
        Constructs a CopticCalendar with the given date set in the default time zone with the default locale.
        Parameters:
        date - The date to which the new calendar is set.
      • CopticCalendar

        public CopticCalendar​(int year,
                              int month,
                              int date,
                              int hour,
                              int minute,
                              int second)
        Constructs a CopticCalendar with the given date and time set for the default time zone with the default locale.
        Parameters:
        year - The value used to set the calendar's YEAR time field.
        month - The value used to set the calendar's MONTH time field. The value is 0-based. e.g., 0 for Tout.
        date - The value used to set the calendar's DATE time field.
        hour - The value used to set the calendar's HOUR_OF_DAY time field.
        minute - The value used to set the calendar's MINUTE time field.
        second - The value used to set the calendar's SECOND time field.
    • Method Detail

      • getType

        public java.lang.String getType()
        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

        Overrides:
        getType in class Calendar
        Returns:
        legacy calendar type name string
      • handleGetExtendedYear

        @Deprecated
        protected int handleGetExtendedYear()
        Deprecated.
        This API is ICU internal only.
        Returns the extended year defined by the current fields. This will use the EXTENDED_YEAR field or the YEAR and supra-year fields (such as ERA) specific to the calendar system, depending on which set of fields is newer.
        Specified by:
        handleGetExtendedYear in class Calendar
        Returns:
        the extended year
      • handleComputeFields

        @Deprecated
        protected void handleComputeFields​(int julianDay)
        Deprecated.
        This API is ICU internal only.
        Subclasses may override this method to compute several fields specific to each calendar system. These are:
        • ERA
        • YEAR
        • MONTH
        • DAY_OF_MONTH
        • DAY_OF_YEAR
        • EXTENDED_YEAR
        Subclasses can refer to the DAY_OF_WEEK and DOW_LOCAL fields, which will be set when this method is called. Subclasses can also call the getGregorianXxx() methods to obtain Gregorian calendar equivalents for the given Julian day.

        In addition, subclasses should compute any subclass-specific fields, that is, fields from BASE_FIELD_COUNT to getFieldCount() - 1.

        The default implementation in Calendar implements a pure proleptic Gregorian calendar.

        Overrides:
        handleComputeFields in class Calendar
      • getJDEpochOffset

        @Deprecated
        protected int getJDEpochOffset()
        Deprecated.
        This API is ICU internal only.
        The Coptic and Ethiopic calendars differ only in their epochs. This method must be implemented by CECalendar subclasses to return the date offset from Julian.
      • copticToJD

        public static int copticToJD​(long year,
                                     int month,
                                     int date)
        Convert an Coptic year, month, and day to a Julian day.
        Parameters:
        year - the year
        month - the month
        date - the day
      • handleComputeMonthStart

        protected int handleComputeMonthStart​(int eyear,
                                              int emonth,
                                              boolean useMonth)
        Return JD of start of given month/extended year
        Specified by:
        handleComputeMonthStart in class Calendar
        Parameters:
        eyear - the extended year
        emonth - the zero-based month, or 0 if useMonth is false
        useMonth - 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
        Returns:
        the Julian day number of the day before the first day of the given month and year
      • handleGetLimit

        protected int handleGetLimit​(int field,
                                     int limitType)
        Calculate the limit for a specified type of limit and field
        Specified by:
        handleGetLimit in class Calendar
        Parameters:
        field - one of the above field numbers
        limitType - one of MINIMUM, GREATEST_MINIMUM, LEAST_MAXIMUM, or MAXIMUM
      • handleGetMonthLength

        protected int handleGetMonthLength​(int extendedYear,
                                           int month)
        Return the number of days in the given month of the given extended year of this calendar system. Subclasses should override this method if they can provide a more correct or more efficient implementation than the default implementation in Calendar.
        Overrides:
        handleGetMonthLength in class Calendar
      • ceToJD

        public static int ceToJD​(long year,
                                 int month,
                                 int day,
                                 int jdEpochOffset)
        Convert an Coptic/Ethiopic year, month and day to a Julian day
        Parameters:
        year - the extended year
        month - the month
        day - the day
        Returns:
        Julian day
      • jdToCE

        public static void jdToCE​(int julianDay,
                                  int jdEpochOffset,
                                  int[] fields)
        Convert a Julian day to an Coptic/Ethiopic year, month and day