public final class HijrahDate extends Object implements ChronoLocalDate, Serializable
这个日期可以用一对Hijrah calendar几个变种。
日历有不同的迁徙总比公历一年中的日子,和每个月的长度是基于一个完整的月球绕地球公转的周期(连续的新月之间)。指的是HijrahChronology支持变异的细节。
每个hijrahdate创建绑定到一个特定的hijrahchronology,同一年代传播到每个hijrahdate从之日起计算。使用不同的迁徙的变体,其hijrahchronology可以创造新的hijrahdate实例。另外,该withVariant(java.time.chrono.HijrahChronology)方法可以用来转换到一个新的hijrahchronology。
这是一个value-based类;利用身份敏感的操作(包括引用相等(==),身份的哈希代码,或同步)的实例HijrahDate可能有不可预知的结果应该是可以避免的。的equals法进行比较。
| Modifier and Type | Method and Description |
|---|---|
ChronoLocalDateTime<HijrahDate> |
atTime(LocalTime localTime)
结合这个日期与时间创建一个
ChronoLocalDateTime。
|
boolean |
equals(Object obj)
将此日期与另一个日期进行比较,包括年代。
|
static HijrahDate |
from(TemporalAccessor temporal)
获得
HijrahDate的伊斯兰乌姆Qura日历时间的对象。
|
HijrahChronology |
getChronology()
获取此日期的年表,这是迁徙的日历系统。
|
HijrahEra |
getEra()
获取在这个日期适用的时代。
|
long |
getLong(TemporalField field)
得到一
long指定的字段的值。
|
int |
hashCode()
此日期的哈希代码。
|
boolean |
isLeapYear()
检查,如果今年是闰年,根据迁徙的日历系统规则。
|
int |
lengthOfMonth()
返回此日期所表示的月份的长度。
|
int |
lengthOfYear()
返回此日期所表示的年份的长度。
|
HijrahDate |
minus(long amountToSubtract, TemporalUnit unit)
返回与指定期间减去的相同类型的对象。
|
HijrahDate |
minus(TemporalAmount amount)
返回一个与此对象相同的类型的对象,该对象的金额减去。
|
static HijrahDate |
now()
获得默认时区的伊斯兰乌姆Qura日历的当前
HijrahDate。
|
static HijrahDate |
now(Clock clock)
获得伊斯兰乌姆Qura日历的当前
HijrahDate从指定的时钟。
|
static HijrahDate |
now(ZoneId zone)
获得指定的时区的伊斯兰乌姆Qura日历的当前
HijrahDate。
|
static HijrahDate |
of(int prolepticYear, int month, int dayOfMonth)
获得
HijrahDate的伊斯兰乌姆Qura日历从预期的一年,一年和一天的月田月。
|
HijrahDate |
plus(long amountToAdd, TemporalUnit unit)
返回与此对象相同的类型的对象,添加指定的周期。
|
HijrahDate |
plus(TemporalAmount amount)
返回与此对象添加的相同类型的对象。
|
ValueRange |
range(TemporalField field)
获取指定字段的有效值的范围。
|
long |
toEpochDay()
将此日期转换为新纪元日。
|
String |
toString()
返回对象的字符串表示形式。
|
ChronoPeriod |
until(ChronoLocalDate endDate)
计算这个日期和日期之间的时间作为一个
ChronoPeriod。
|
long |
until(Temporal endExclusive, TemporalUnit unit)
计算时间的量,直到指定单元的另一个日期为止。
|
HijrahDate |
with(TemporalAdjuster adjuster)
返回与此对象调整的相同类型的调整对象。
|
HijrahDate |
with(TemporalField field, long newValue)
返回与指定字段更改的相同类型的对象。
|
HijrahDate |
withVariant(HijrahChronology chronology)
返回一个与该年表
HijrahDate要求。
|
clone, finalize, getClass, notify, notifyAll, wait, wait, waitadjustInto, compareTo, format, isAfter, isBefore, isEqual, isSupported, isSupported, query, timeLineOrder, toString, untilgetpublic static HijrahDate now()
public static HijrahDate now(ZoneId zone)
HijrahDate。
这将查询system clock获取当前日期。指定时区避免依赖于默认时区。
使用这种方法将防止使用另一个时钟进行测试的能力,因为时钟是硬编码的。
zone -区ID使用,不为空
public static HijrahDate now(Clock clock)
HijrahDate从指定的时钟。
这将查询指定的时钟,以获得当前日期-今天。使用这种方法允许使用一个备用时钟进行测试。备用时钟可采用dependency injection。
clock -时钟使用,不为空
DateTimeException -如果当前日期不能得到
public static HijrahDate of(int prolepticYear, int month, int dayOfMonth)
HijrahDate的伊斯兰乌姆Qura日历从预期的一年,一年和一天的月田月。
返回具有指定领域HijrahDate。一天必须是有效的,因为一年和一个月,否则将抛出异常。
prolepticYear -预期年迁徙
month -每年的迁徙月,从1到12
dayOfMonth -月迁徙的日子,从1到30
DateTimeException -如果任何字段的值超出范围,或如果月日年月日是无效的
public static HijrahDate from(TemporalAccessor temporal)
HijrahDate的伊斯兰乌姆Qura日历时间的对象。
这得到一个基于指定的时间在迁徙的日历系统日期。一个TemporalAccessor表示日期和时间信息,任意设置,本厂将以HijrahDate实例。
转换通常用EPOCH_DAY领域,这是标准化的日历系统。
这种方法相匹配的功能接口TemporalQuery可以通过方法引用查询的签名,HijrahDate::from。
from 接口
ChronoLocalDate
temporal -转换时间的对象,不为空
DateTimeException如果无法转换为
HijrahDate
Chronology.date(TemporalAccessor)
public HijrahChronology getChronology()
的Chronology代表使用日历系统。在ChronoField时代和其他领域的时间定义。
getChronology 接口
ChronoLocalDate
public HijrahEra getEra()
迁徙的日历系统有一个时代,“啊”,由HijrahEra。
getEra 接口
ChronoLocalDate
public int lengthOfMonth()
这将返回一个月的长度。月的长度在迁徙的日历系统的变化29和30天之间。
lengthOfMonth 接口
ChronoLocalDate
public int lengthOfYear()
这将返回在几天内的长度。一个迁徙历法年份通常低于ISO日历系统。
lengthOfYear 接口
ChronoLocalDate
public ValueRange range(TemporalField field)
TemporalAccessor
所有字段可以表示为一个long整数。此方法返回一个对象,该对象描述该值的有效范围。这个时间对象的值是用来提高返回范围的准确性。如果日期时间不能返回范围,因为字段不支持或其他原因,将抛出一个异常。
请注意,结果只描述了最小值和最大值的有效值,重要的是不要对它们进行太多的阅读。例如,可能在字段无效的范围内的值。
range 接口
TemporalAccessor
field -现场查询范围,不为空
public long getLong(TemporalField field)
TemporalAccessor
long指定的字段的值。
此查询指定字段的值的日期时间。返回的值可能是字段的有效值范围以外的。如果日期时间不能返回值,因为字段不支持或其他原因,将引发异常。
getLong 接口
TemporalAccessor
field -领域有,不空
public HijrahDate with(TemporalField field, long newValue)
ChronoLocalDate
这将返回一个新的对象,在此基础上,以指定字段的值更改。例如,在一个LocalDate,这可以用来设置年、月、日月。返回的对象将有相同的可观察的类型作为此对象。
在某些情况下,改变一个字段没有完全定义。例如,如果目标对象是代表1月31日的日期,则更改月至二月将不清楚。在这样的情况下,该字段负责解决结果。通常情况下,它会选择以前的有效日期,这将是二月的最后一个有效的一天,在这个例子中。
with 接口
ChronoLocalDate
with 接口
Temporal
field -现场设置的结果,不为空
newValue -场的结果中的新价值
public HijrahDate with(TemporalAdjuster adjuster)
根据指定的调节器的规则来调整这个日期时间。一个简单的调节器可以简单地设置一个字段,例如年字段。一个更复杂的调节器可能会把日期定在月的最后一天。选择常见的调整提供了TemporalAdjuster。这些措施包括寻找“月的最后一天”和“下星期三”。该调节器是负责处理特殊情况下,如不同长度的月和跳跃年。
一些示例代码,说明如何以及为什么使用这种方法:
日期=日期(月,七月);//最关键的类实现temporaladjuster日期为日期,(lastdayofmonth());//静态导入调节器日期为日期,(下(星期三));//静态导入调节器和DayOfWeek
with 接口
ChronoLocalDate
with 接口
Temporal
adjuster -调节器使用,不为空
DateTimeException如果无法适应。例如,如果调节器需要一个国际标准组织的年代
ArithmeticException如果数值溢出时
public HijrahDate withVariant(HijrahChronology chronology)
HijrahDate要求。
年、月、日,反对新的要求hijrahchronology检查。如果时间顺序有一个较短的一个月的长度,一天被减少为月的最后一天。
chronology -新的hijrahchonology,非空
public HijrahDate plus(TemporalAmount amount)
这调整这个时间,添加根据指定金额的规则。量是一个典型的Period但可能是任何其他类型的实施TemporalAmount接口,如Duration。
一些示例代码,说明如何以及为什么使用这种方法:
日期=日期(期间);/ /添加一个周期实例日期。+(持续时间);/ /添加一个持续时间实例日期=日期。加(工作日(6));//实例用户编写的工作日的方法
注意,调用plus随后minus不保证返回相同的日期时间。
plus 接口
ChronoLocalDate
plus 接口
Temporal
amount -添加量,不为空
DateTimeException如果还不能
ArithmeticException如果数值溢出时
public HijrahDate minus(TemporalAmount amount)
这调整这个时间,减去根据指定金额的规则。量是一个典型的Period但可能是任何其他类型的实施TemporalAmount接口,如Duration。
一些示例代码,说明如何以及为什么使用这种方法:
日期=日期减去(期间);/ /减去一个周期实例日期。减去(持续时间);/ /减去持续时间实例日期=日期减去(工作日(6));//实例用户编写的工作日的方法
注意,调用plus随后minus不保证返回相同的日期时间。
minus 接口
ChronoLocalDate
minus 接口
Temporal
amount -减去的量,不为空
DateTimeException如果减法不能做
ArithmeticException如果数值溢出时
public long toEpochDay()
ChronoLocalDate
是一个简单的Epoch Day count递增计数的日子,0天是1970-01-01(ISO)。这个定义是所有年表一样,使转换。
此默认实现查询EPOCH_DAY场。
toEpochDay 接口
ChronoLocalDate
public boolean isLeapYear()
isLeapYear 接口
ChronoLocalDate
public HijrahDate plus(long amountToAdd, TemporalUnit unit)
ChronoLocalDate
此方法返回一个新的对象,在此基础上添加指定的周期。例如,在一个LocalDate,这可以用来添加一个数年、月或日。返回的对象将有相同的可观察的类型作为此对象。
在某些情况下,改变一个字段没有完全定义。例如,如果目标对象是代表1月31日的日期,则添加一个月将不清楚。在这样的情况下,该字段负责解决结果。通常情况下,它会选择以前的有效日期,这将是二月的最后一个有效的一天,在这个例子中。
plus 接口
ChronoLocalDate
plus 接口
Temporal
amountToAdd -添加指定的单位的数量,可能是负面的
unit -期添加单元,不为空
public HijrahDate minus(long amountToSubtract, TemporalUnit unit)
ChronoLocalDate
此方法返回一个新的对象,在此基础上减去指定的周期。例如,在一个LocalDate,这可以用来减去一个数年、月或日。返回的对象将有相同的可观察的类型作为此对象。
在某些情况下,改变一个字段没有完全定义。例如,如果目标对象是代表3月31日的日期,那么减去一个月就不清楚了。在这样的情况下,该字段负责解决结果。通常情况下,它会选择以前的有效日期,这将是二月的最后一个有效的一天,在这个例子中。
minus 接口
ChronoLocalDate
minus 接口
Temporal
amountToSubtract -减去指定的单位的数量,可能是负面的
unit -期减去单位,不为空
public final ChronoLocalDateTime<HijrahDate> atTime(LocalTime localTime)
ChronoLocalDate
ChronoLocalDateTime。
这会返回一个由这个日期在指定的时间ChronoLocalDateTime。日期和时间的所有可能的组合都是有效的。
atTime 接口
ChronoLocalDate
localTime -使用本地时间,不是空的
public ChronoPeriod until(ChronoLocalDate endDate)
ChronoLocalDate
ChronoPeriod。
这计算两个日期之间的周期。所有提供的年表计算使用年期、月和日,但ChronoPeriod API允许期间要使用其他单位代表。
开始和结束点this和指定的日期。结果将是负的,如果结束之前开始。在每一年,一个月和一天,消极的标志会是一样的。
使用此日期的时间顺序进行计算。如果有必要,输入日期将被转换为匹配。
此实例是不可变的,不受此方法调用的影响。
until 接口
ChronoLocalDate
endDate -结束日期,独家的,这可能是在任何年代,不空
public boolean equals(Object obj)
这HijrahDate与另一个确保日期是相同的比较。
HijrahDate型只有对象相比,其他类型返回false。比较两TemporalAccessor实例的日期,包括在两个不同的年表的日期,使用ChronoField.EPOCH_DAY作为比较器。
equals 接口
ChronoLocalDate
obj -检查对象,空返回false
Object.hashCode(),
HashMap
public int hashCode()
hashCode 接口
ChronoLocalDate
Object.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)
public long until(Temporal endExclusive, TemporalUnit unit)
ChronoLocalDate
这两ChronoLocalDate计算对象之间的时间量在一个TemporalUnit条款。开始和结束点this和指定的日期。结果将是负的,如果结束之前开始。的Temporal传递给此方法转换为ChronoLocalDate使用Chronology.date(TemporalAccessor)。计算返回一个整数,表示两个日期之间的完整单位数。例如,两个日期之间的天数的量可以计算出使用startDate.until(endDate, DAYS)。
使用这种方法有两个等效的方法。首先是调用这个方法。二是用TemporalUnit.between(Temporal, Temporal):
这两条线是等价的金额=开始,直到(结束,月);金额=月间(开始,结束);的选择应基于使得代码更易读。
计算中实现该方法ChronoUnit。单位DAYS,WEEKS,MONTHS,YEARS,DECADES,CENTURIES,MILLENNIA和ERAS应该由所有实现支持。其他ChronoUnit值将抛出一个异常。
如果单位不ChronoUnit,然后通过调用TemporalUnit.between(Temporal, Temporal) this作为第一个参数传递和转换的输入时间作为第二个参数给出了这个方法的结果。
此实例是不可变的,不受此方法调用的影响。
until 接口
ChronoLocalDate
until 接口
Temporal
endExclusive -结束日期,独家,并转换为在同一个时代
ChronoLocalDate,不空
unit -单位量来衡量,不为空
public String toString()
Object
toString方法返回一个字符串,“以文本方式表示”这个对象。其结果应该是一个简洁,但翔实的代表性,是一个容易阅读的人。建议所有子类都重写此方法。
Object类的toString方法返回一个包含该类的对象是一个实例的名称字符串的符号` @ ',和符号进制表示的对象的哈希码。换句话说,此方法返回一个等于值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
toString 接口
ChronoLocalDate
toString 方法重写,继承类
Object
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.