模块  java.base
软件包  java.time.chrono

Class HijrahChronology

  • 实现的所有接口
    SerializableComparable<Chronology>Chronology

    public final class HijrahChronology
    extends AbstractChronology
    implements Serializable
    Hijrah日历是支持伊斯兰日历的阴历。

    HijrahChronology遵循Hijrah日历系统的规则。 Hijrah日历有几种变体,这些变体基于确定新月发生时和观察发生地的差异。 在一些变型中,每月的长度是根据月球和地球的天文数据在算法上计算的,而在其他变体中,月份的长度由新月的授权目击确定。 对于基于算法的日历,日历可以投射到未来。 对于基于瞄准的日历,仅可获得过去目击的历史数据。

    每个月的长度是29或30天。 普通年份有354天; 闰年有355天。

    CLDR和LDML识别变体:

    Variants of Hijrah Calendars Chronology ID Calendar Type Locale extension, see Locale Description Hijrah-umalqura islamic-umalqura ca-islamic-umalqura Islamic - Umm Al-Qura calendar of Saudi Arabia

    可通过Chronology.getAvailableChronologies()获得其他变体。

    从区域设置中选择年表使用Chronology.ofLocale(java.util.Locale)来查找基于区域设置支持的BCP 47扩展机制的年表,以请求特定日历(“ca”)。 例如,

      Locale locale = Locale.forLanguageTag("en-US-u-ca-islamic-umalqura");
          Chronology chrono = Chronology.ofLocale(locale); 
    实现要求:
    这个类是不可变的和线程安全的。
    Implementation Note:
    每个Hijrah变体都是单独配置的。 每个变体是由定义该属性资源定义ID ,所述calendar type ,日历,与ISO日历的对准,并且每个月的一定范围的年长度的开始。 这些变体由HijrahChronology作为来自hijrah-config- <calendar type> .properties的资源加载。

    Hijrah属性资源是一组描述日历的属性。 语法由java.util.Properties#load(Reader)定义。

    Configuration of Hijrah Calendar Property Name Property value Description id Chronology Id, for example, "Hijrah-umalqura" The Id of the calendar in common usage type Calendar type, for example, "islamic-umalqura" LDML defines the calendar types version Version, for example: "1.8.0_1" The version of the Hijrah variant data iso-start ISO start date, formatted as yyyy-MM-dd, for example: "1900-04-30" The ISO date of the first day of the minimum Hijrah year. yyyy - a numeric 4 digit year, for example "1434" The value is a sequence of 12 month lengths, for example: "29 30 29 30 29 30 30 30 29 30 29 29" The lengths of the 12 months of the year separated by whitespace. A numeric year property must be present for every year without any gaps. The month lengths must be between 29-32 inclusive.
    从以下版本开始:
    1.8
    另请参见:
    Serialized Form
    • 方法详细信息

      • getCalendarType

        public String getCalendarType()
        获取伊斯兰日历的日历类型。

        日历类型是由Unicode区域设置数据标记语言(LDML)规范定义的标识符。 它可用于查找Chronology使用Chronology.of(String)

        Specified by:
        getCalendarType in interface Chronology
        结果
        日历系统类型; 如果日历具有标准类型,则为非null,否则为null
        另请参见:
        getId()
      • date

        public HijrahDate date​(Era era,
                               int yearOfEra,
                               int month,
                               int dayOfMonth)
        从时代,年份,月份和日期字段中获取Hijrah日历系统中的本地日期。
        Specified by:
        date在界面 Chronology
        参数
        era - Hijrah时代,不是空的
        yearOfEra - 年代
        month - 该年的月份
        dayOfMonth - 该日期
        结果
        Hijrah本地日期,不为空
        异常
        DateTimeException - 如果无法创建日期
        ClassCastException - 如果 era不是 HijrahEra
      • date

        public HijrahDate date​(int prolepticYear,
                               int month,
                               int dayOfMonth)
        从预知年,月份和日期字段获得Hijrah日历系统中的本地日期。
        Specified by:
        date ,界面 Chronology
        参数
        prolepticYear - prolepticYear
        month - 该年的月份
        dayOfMonth - 每月的某天
        结果
        Hijrah本地日期,不为空
        异常
        DateTimeException - 如果无法创建日期
      • dateYearDay

        public HijrahDate dateYearDay​(Era era,
                                      int yearOfEra,
                                      int dayOfYear)
        从时代,年代和日期字段中获取Hijrah日历系统中的本地日期。
        Specified by:
        dateYearDay在界面 Chronology
        参数
        era - Hijrah时代,不是空的
        yearOfEra - 年代
        dayOfYear - 这一天的日期
        结果
        Hijrah本地日期,不为空
        异常
        DateTimeException - 如果无法创建日期
        ClassCastException - 如果 era不是 HijrahEra
      • dateYearDay

        public HijrahDate dateYearDay​(int prolepticYear,
                                      int dayOfYear)
        从预知年和日期字段获得Hijrah日历系统中的本地日期。
        Specified by:
        dateYearDay在界面 Chronology
        参数
        prolepticYear - prolepticYear
        dayOfYear - 这一天的日期
        结果
        Hijrah本地日期,不为空
        异常
        DateTimeException - 如果年份的价值超出范围,或者年度的年份无效
      • dateEpochDay

        public HijrahDate dateEpochDay​(long epochDay)
        从纪元日起在Hijrah日历系统中获得当地日期。
        Specified by:
        dateEpochDay接口 Chronology
        参数
        epochDay - 纪元日
        结果
        Hijrah本地日期,不为空
        异常
        DateTimeException - 如果无法创建日期
      • eraOf

        public HijrahEra eraOf​(int eraValue)
        从数值创建HijrahEra对象。 Hijrah日历系统只有一个时代覆盖了大于零的预感年。 此方法返回值为1的单例HijrahEra。
        Specified by:
        eraOf在界面 Chronology
        参数
        eraValue - 时代价值
        结果
        日历系统时代,不是空的
        异常
        DateTimeException - 如果无法创造时代