- java.lang.Object
-
- java.time.chrono.AbstractChronology
-
- java.time.chrono.HijrahChronology
-
- 实现的所有接口
-
Serializable
,Comparable<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, seeLocale
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属性资源是一组描述日历的属性。 语法由
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 asjava.util.Properties#load(Reader)
定义。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
-
-
字段汇总
字段 变量和类型 字段 描述 static HijrahChronology
INSTANCE
沙特阿拉伯的伊斯兰教Umm Al-Qura日历的Singleton实例。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 HijrahDate
date(int prolepticYear, int month, int dayOfMonth)
从预知年,月份和日期字段获得Hijrah日历系统中的本地日期。HijrahDate
date(Era era, int yearOfEra, int month, int dayOfMonth)
从时代,年份,月份和日期字段中获取Hijrah日历系统中的本地日期。HijrahDate
dateEpochDay(long epochDay)
从纪元日起在Hijrah日历系统中获得当地日期。HijrahDate
dateYearDay(int prolepticYear, int dayOfYear)
从预知年和日期字段获得Hijrah日历系统中的本地日期。HijrahDate
dateYearDay(Era era, int yearOfEra, int dayOfYear)
从时代,年代和日期字段中获取Hijrah日历系统中的本地日期。HijrahEra
eraOf(int eraValue)
从数值创建HijrahEra对象。String
getCalendarType()
获取伊斯兰日历的日历类型。String
getId()
获取年表的ID。-
声明方法的类 java.time.chrono.AbstractChronology
compareTo, equals, hashCode, resolveDate, toString
-
声明方法的接口 java.time.chrono.Chronology
date, dateNow, dateNow, dateNow, epochSecond, epochSecond, eras, getDisplayName, isLeapYear, localDateTime, period, prolepticYear, range, zonedDateTime, zonedDateTime
-
-
-
-
字段详细信息
-
INSTANCE
public static final HijrahChronology INSTANCE
沙特阿拉伯的伊斯兰教Umm Al-Qura日历的Singleton实例。 其他Hijrah年代变体可以从Chronology.getAvailableChronologies()
获得 。
-
-
方法详细信息
-
getId
public String getId()
获取年表的ID。该ID唯一标识
Chronology
。 它可用于查找Chronology
使用Chronology.of(String)
。- Specified by:
-
getId
,界面Chronology
- 结果
- 年表ID,非空
- 另请参见:
-
getCalendarType()
-
getCalendarType
public String getCalendarType()
获取伊斯兰日历的日历类型。日历类型是由Unicode区域设置数据标记语言(LDML)规范定义的标识符。 它可用于查找
Chronology
使用Chronology.of(String)
。- Specified by:
-
getCalendarType
in interfaceChronology
- 结果
- 日历系统类型; 如果日历具有标准类型,则为非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
- 如果无法创造时代
-
-