public final class ThaiBuddhistChronology extends AbstractChronology implements Serializable
这个年表定义了泰国佛教日历系统的规则。 这个日历系统主要用于泰国。 日期对齐,使得2484-01-01 (Buddhist)
为1941-01-01 (ISO)
。
字段定义如下:
Modifier and Type | Field and Description |
---|---|
static ThaiBuddhistChronology |
INSTANCE
佛教年龄的单身人士例子。
|
Modifier and Type | Method and Description |
---|---|
ThaiBuddhistDate |
date(Era era, int yearOfEra, int month, int dayOfMonth)
从时代,年龄,月份和月份的时代,获得泰国佛教日历系统的当地日期。
|
ThaiBuddhistDate |
date(int prolepticYear, int month, int dayOfMonth)
在泰国佛教日历系统中,从幼稚年份,月份和月份月份获取当地日期。
|
ThaiBuddhistDate |
date(TemporalAccessor temporal)
从另一个时间对象获取本年龄的本地日期。
|
ThaiBuddhistDate |
dateEpochDay(long epochDay)
从泰国佛教日历系统中获取当地的日期。
|
ThaiBuddhistDate |
dateNow()
从默认时区的系统时钟获取此时间顺序中的当前本地日期。
|
ThaiBuddhistDate |
dateNow(Clock clock)
从指定的时钟获取本年龄的当前本地日期。
|
ThaiBuddhistDate |
dateNow(ZoneId zone)
从指定时区的系统时钟获取此时间顺序中的当前本地日期。
|
ThaiBuddhistDate |
dateYearDay(Era era, int yearOfEra, int dayOfYear)
在泰国佛教日历系统中,从时代,年龄和日期领域获得当地日期。
|
ThaiBuddhistDate |
dateYearDay(int prolepticYear, int dayOfYear)
在泰国佛教日历系统中,从幼稚年份和日期领域获得当地日期。
|
ThaiBuddhistEra |
eraOf(int eraValue)
根据数值创建年代时代对象。
|
List<Era> |
eras()
获取年表的时间列表。
|
String |
getCalendarType()
获取基础日历系统的日历类型 - “佛教”。
|
String |
getId()
获取年代的ID - “泰国人”。
|
boolean |
isLeapYear(long prolepticYear)
检查指定年份是否是闰年。
|
ChronoLocalDateTime<ThaiBuddhistDate> |
localDateTime(TemporalAccessor temporal)
从另一个时间对象获取本年龄的本地日期时间。
|
int |
prolepticYear(Era era, int yearOfEra)
计算年龄和年龄的幼年时期。
|
ValueRange |
range(ChronoField field)
获取指定字段的有效值的范围。
|
ThaiBuddhistDate |
resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
解析解析时解析为
ChronoField 值。
|
ChronoZonedDateTime<ThaiBuddhistDate> |
zonedDateTime(Instant instant, ZoneId zone)
获得
ChronoZonedDateTime 在从这个年表
Instant 。
|
ChronoZonedDateTime<ThaiBuddhistDate> |
zonedDateTime(TemporalAccessor temporal)
从另一个时间对象获得这个
ChronoZonedDateTime 中的ChronoZonedDateTime。
|
compareTo, equals, hashCode, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
from, getDisplayName, period
public static final ThaiBuddhistChronology INSTANCE
public String getId()
该ID唯一标识Chronology
。 它可以用于查找Chronology
使用AbstractChronology.of(String)
。
getId
在接口
Chronology
getCalendarType()
public String getCalendarType()
日历类型是由Unicode区域设置数据标记语言(LDML)规范定义的标识符。 它可以用来查找Chronology
使用AbstractChronology.of(String)
。 它也可以作为区域设置的一部分使用,通过Locale.getUnicodeLocaleType(String)
可以通过键“ca”访问。
getCalendarType
在接口
Chronology
getId()
public ThaiBuddhistDate date(Era era, int yearOfEra, int month, int dayOfMonth)
date
在界面
Chronology
era
- 泰国佛教时代,不为空
yearOfEra
- 年代
month
- 年月
dayOfMonth
- 月的日子
DateTimeException
- 如果无法创建日期
ClassCastException
- 如果
era
不是
ThaiBuddhistEra
public ThaiBuddhistDate date(int prolepticYear, int month, int dayOfMonth)
date
在界面
Chronology
prolepticYear
- 幼稚年
month
- 年月
dayOfMonth
- 月的日子
DateTimeException
- 如果无法创建日期
public ThaiBuddhistDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
dateYearDay
在界面
Chronology
era
- 泰国佛教时代,不为空
yearOfEra
- 年代
dayOfYear
- 一年的一天
DateTimeException
- 如果无法创建日期
ClassCastException
- 如果
era
不是
ThaiBuddhistEra
public ThaiBuddhistDate dateYearDay(int prolepticYear, int dayOfYear)
dateYearDay
在接口
Chronology
prolepticYear
- 幼稚年
dayOfYear
- 一年的一天
DateTimeException
- 如果无法创建日期
public ThaiBuddhistDate dateEpochDay(long epochDay)
dateEpochDay
在接口
Chronology
epochDay
- 纪元日
DateTimeException
- 如果无法创建日期
public ThaiBuddhistDate dateNow()
Chronology
复制
dateNow
在接口
Chronology
public ThaiBuddhistDate dateNow(ZoneId zone)
Chronology
复制
dateNow
在接口
Chronology
zone
- 要使用的区域ID,不为空
public ThaiBuddhistDate dateNow(Clock clock)
Chronology
复制
这将查询指定的时钟以获取当前日期 - 今天。 使用此方法可以使用备用时钟进行测试。 替代时钟可以使用dependency injection
引入 。
dateNow
在界面
Chronology
clock
- 要使用的时钟,不为空
public ThaiBuddhistDate date(TemporalAccessor temporal)
Chronology
复制
这在这个时间表中基于指定的时间获得日期。 A TemporalAccessor
表示一个任意的日期和时间信息,这个工厂转换为ChronoLocalDate
一个实例。
转换通常使用EPOCH_DAY
字段,这是跨日历系统标准化的。
该方法中,功能接口的签名相匹配TemporalQuery
允许它被用作通过方法参考,查询aChronology::date
。
date
在接口
Chronology
temporal
- 要转换的时间对象,不为null
ChronoLocalDate.from(TemporalAccessor)
public ChronoLocalDateTime<ThaiBuddhistDate> localDateTime(TemporalAccessor temporal)
Chronology
复制
这在这个时间表中基于指定的时间获得日期时间。 A TemporalAccessor
表示一个任意的日期和时间信息集,该工厂转换为ChronoLocalDateTime
一个实例。
转换提取并结合ChronoLocalDate
和LocalTime
从时间对象。 允许实现执行优化,例如访问与相关对象相当的那些字段。 结果使用这个年表。
该方法中,功能接口的签名相匹配TemporalQuery
允许它被用作通过方法参考,查询aChronology::localDateTime
。
localDateTime
在界面
Chronology
temporal
- 要转换的时间对象,不为null
ChronoLocalDateTime.from(TemporalAccessor)
public ChronoZonedDateTime<ThaiBuddhistDate> zonedDateTime(TemporalAccessor temporal)
Chronology
复制
ChronoZonedDateTime
从另一个时空对象这个年表。
根据指定的时间,在这个年表中获得一个分区的日期时间。 A TemporalAccessor
表示一个任意的日期和时间信息集,该工厂转换为ChronoZonedDateTime
一个实例。
转换将第一获得ZoneId
从时间对象,回落到一个ZoneOffset
如果必要的话。 然后,它会尝试获得Instant
,回落到ChronoLocalDateTime
,如果必要的。 结果将是ZoneId
或ZoneOffset
与Instant
或ChronoLocalDateTime
。 允许实现执行优化,例如访问与相关对象相当的那些字段。 结果使用这个年表。
该方法中,功能接口的签名相匹配TemporalQuery
允许它被用作通过方法参考,查询aChronology::zonedDateTime
。
zonedDateTime
在界面
Chronology
temporal
- 要转换的时间对象,不为null
ChronoZonedDateTime.from(TemporalAccessor)
public ChronoZonedDateTime<ThaiBuddhistDate> zonedDateTime(Instant instant, ZoneId zone)
Chronology
复制
ChronoZonedDateTime
在从这个年表Instant
。
这将获得与指定的相同时间的分区日期时间。
zonedDateTime
在界面
Chronology
instant
- 即时创建日期时间,不为null
zone
- 时区,不为空
public boolean isLeapYear(long prolepticYear)
泰国佛教闰年恰好符合ISO闰年。 该方法不能验证所传递的年份,并且在支持的范围内只有明确的结果多年。
isLeapYear
在接口
Chronology
prolepticYear
- 检查年份,无法验证范围
public int prolepticYear(Era era, int yearOfEra)
Chronology
复制
这将时代与时代融为一体的年轻一代。
如果年表积极使用时代,例如JapaneseChronology
则JapaneseChronology
将在时代得到验证。 对于其他年表,验证是可选的。
prolepticYear
在接口
Chronology
era
- 正确类型为时代的时代,不为零
yearOfEra
- 年代的年代
public ThaiBuddhistEra eraOf(int eraValue)
Chronology
复制
时代在概念上是时间线上最大的一个部门。 大多数日历系统具有将时间线划分为两个时代的单个时期。 然而,有些有多个时代,比如每个领导人统治的时代。 确切的含义由年龄根据以下约束决定。
1970-01-01使用的时代必须具有值1.后来的时代必须具有较高的值。 较早的时间必须具有较低的值。 每个年表必须参考枚举或类似的单身,以提供时代价值观。
该方法返回指定时代值的正确类型的单例时代。
eraOf
在界面
Chronology
eraValue
- 时代价值
public List<Era> eras()
Chronology
复制
大多数日历系统都有一个时代,其中一年有意义。 如果日历系统不支持时间的概念,则必须返回空列表。
eras
在界面
Chronology
public ValueRange range(ChronoField field)
Chronology
复制
所有字段可以表示为long
整数。 此方法返回描述该值的有效范围的对象。
请注意,结果仅描述最小和最大有效值,重要的是不要太多读取它们。 例如,可以在该范围内的值对该字段无效。
该方法将返回结果,无论年表是否支持该字段。
range
在界面
Chronology
field
- 获取范围的字段,不为null
public ThaiBuddhistDate resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
AbstractChronology
复制
ChronoField
值。
大多数TemporalField
实现使用该字段上的resolve方法来解决。 相比之下, ChronoField
类定义的字段只具有相对于年表的意义。 因此, ChronoField
日期字段在具体年表的上下文中解决。
ChronoField
实例通过此方法解决,可能会在子类中被覆盖。
EPOCH_DAY
- 如果存在,将转换为日期,然后根据日期对所有其他日期字段进行交叉检查。 PROLEPTIC_MONTH
- 如果存在,那么它被分成YEAR
和MONTH_OF_YEAR
。 如果模式是严格的或智能的,则该字段被验证。 YEAR_OF_ERA
和ERA
- 如果两者都存在,则它们被组合以形成YEAR
。 在宽松的模式下, YEAR_OF_ERA
范围没有验证,在智能和严格的模式下。 该ERA
验证的范围在所有三种模式。 如果只有YEAR_OF_ERA
存在,并且模式是聪明或宽松的,那么假定最后一个可用的时代。 在严格的模式下,不考虑时代, YEAR_OF_ERA
保持不变。 如果只有ERA
存在,那么它保持不变。 YEAR
, MONTH_OF_YEAR
和DAY_OF_MONTH
-如果所有三个都存在,那么它们被组合成一个日期。 在所有三种模式下, YEAR
都经过验证。 如果模式是聪明或严格的,则验证月和日。 如果模式宽松,则以相当于在请求年份的第一个月的第一天创建日期的方式组合日期,然后将月份中的差额加上差异天数。 如果模式是聪明的,并且月的日期大于年月的最大值,则月的日期被调整到最后一个月。 如果模式严格,则三个字段必须形成有效的日期。 YEAR
和DAY_OF_YEAR
- 如果两者都存在,则它们被组合以形成日期。 在所有三种模式下, YEAR
都经过验证。 如果模式宽松,那么日期将以相当于在请求年的第一天创建日期的方式组合,然后加上差异。 如果模式是聪明或严格的,那么这两个字段必须形成一个有效的日期。 YEAR
, MONTH_OF_YEAR
, ALIGNED_WEEK_OF_MONTH
和ALIGNED_DAY_OF_WEEK_IN_MONTH
-如果所有四个都存在,则它们被组合以形成一个日期。 在所有三种模式下, YEAR
都经过验证。 如果该模式宽松,那么日期将以相当于在请求年份的第一个月的第一天创建日期的方式组合,然后加上月差,然后以周为单位,然后以天为单位。 如果模式是聪明或严格的,那么所有四个字段都将被验证到其外部范围。 然后将该日期以相当于在所请求的年和月的第一天创建日期的方式组合,然后以数周和数天的数量添加以达到其值。 如果模式严格,则还会验证日期,以检查日和周的调整次数是否不变。 YEAR
, MONTH_OF_YEAR
, ALIGNED_WEEK_OF_MONTH
和DAY_OF_WEEK
-如果所有四个都存在,则它们被组合以形成一个日期。 该方法与上述相同,多年,数月ALIGNED_DAY_OF_WEEK_IN_MONTH
周在ALIGNED_DAY_OF_WEEK_IN_MONTH
。 一天一个月,几周和几周已被处理,星期几被调整为下一个或相同的匹配日。 YEAR
, ALIGNED_WEEK_OF_YEAR
和ALIGNED_DAY_OF_WEEK_IN_YEAR
-如果所有三个都存在,那么它们被组合成一个日期。 在所有三种模式下, YEAR
都经过验证。 如果模式宽松,那么日期以相当于在所请求年的第一天创建日期的方式组合,然后以周为单位,然后加上差异。 如果模式是聪明或严格的,那么所有三个字段都将被验证到其外部范围。 然后,该日期以相当于在所请求年的第一天创建日期的方式组合,然后以数周和数天添加以达到其值。 如果模式严格,日期也会被验证,以检查日和周的调整没有改变年份。 YEAR
, ALIGNED_WEEK_OF_YEAR
和DAY_OF_WEEK
-如果所有三个都存在,那么它们被组合成一个日期。 该方法是在上述多年,周同ALIGNED_DAY_OF_WEEK_IN_YEAR
。 一天一周的时间一周调整为下一个或相同的匹配日期,一年的时间和周数被处理。 默认实现适用于大多数日历系统。 如果ChronoField.YEAR_OF_ERA
是没有发现ChronoField.ERA
然后在最后的时代Chronology.eras()
使用。 实施假定为7天,第一个月的日期为1,第一天的值为1,并且月份和年份的第一个始终存在。
resolveDate
在界面
Chronology
resolveDate
在类别
AbstractChronology
fieldValues
- 可以更新的值的字段映射,不为空
resolverStyle
- 请求的解析类型,不为空