java.io.Serializablepublic final class AccountingChronology
extends java.time.chrono.AbstractChronology
implements java.io.Serializable
This chronology defines the rules of a proleptic 52/53-week Accounting calendar system.
This calendar system follows the rules as laid down in IRS Publication 538
and the International Financial Reporting Standards.
The start of the Accounting calendar will vary against the ISO calendar.
Depending on options chosen, it can start as early as 0000-01-26 (ISO) or as late as 0001-01-04 (ISO).
This class is proleptic. It implements Accounting chronology rules for the entire time-line.
The fields are defined as follows:
| Modifier and Type | Method | Description |
|---|---|---|
AccountingDate |
date(int prolepticYear,
int month,
int dayOfMonth) |
Obtains a local date in Accounting calendar system from the
proleptic-year, month-of-year and day-of-month fields.
|
AccountingDate |
date(java.time.chrono.Era era,
int yearOfEra,
int month,
int dayOfMonth) |
Obtains a local date in Accounting calendar system from the
era, year-of-era, month-of-year and day-of-month fields.
|
AccountingDate |
date(java.time.temporal.TemporalAccessor temporal) |
Obtains a Accounting local date from another date-time object.
|
AccountingDate |
dateEpochDay(long epochDay) |
Obtains a local date in the Accounting calendar system from the epoch-day.
|
AccountingDate |
dateNow() |
Obtains the current Accounting local date from the system clock in the default time-zone.
|
AccountingDate |
dateNow(java.time.Clock clock) |
Obtains the current Accounting local date from the specified clock.
|
AccountingDate |
dateNow(java.time.ZoneId zone) |
Obtains the current Accounting local date from the system clock in the specified time-zone.
|
AccountingDate |
dateYearDay(int prolepticYear,
int dayOfYear) |
Obtains a local date in Accounting calendar system from the
proleptic-year and day-of-year fields.
|
AccountingDate |
dateYearDay(java.time.chrono.Era era,
int yearOfEra,
int dayOfYear) |
Obtains a local date in Accounting calendar system from the
era, year-of-era and day-of-year fields.
|
boolean |
equals(java.lang.Object obj) |
|
AccountingEra |
eraOf(int era) |
|
java.util.List<java.time.chrono.Era> |
eras() |
|
java.lang.String |
getCalendarType() |
Gets the calendar type of the underlying calendar system, which is null.
|
java.lang.String |
getId() |
Gets the ID of the chronology - 'Accounting'.
|
int |
hashCode() |
|
boolean |
isLeapYear(long prolepticYear) |
Checks if the specified year is a leap year.
|
java.time.chrono.ChronoLocalDateTime<AccountingDate> |
localDateTime(java.time.temporal.TemporalAccessor temporal) |
Obtains a Accounting local date-time from another date-time object.
|
int |
prolepticYear(java.time.chrono.Era era,
int yearOfEra) |
|
java.time.temporal.ValueRange |
range(java.time.temporal.ChronoField field) |
|
java.lang.String |
toString() |
|
java.time.chrono.ChronoZonedDateTime<AccountingDate> |
zonedDateTime(java.time.Instant instant,
java.time.ZoneId zone) |
Obtains a Accounting zoned date-time in this chronology from an
Instant. |
java.time.chrono.ChronoZonedDateTime<AccountingDate> |
zonedDateTime(java.time.temporal.TemporalAccessor temporal) |
Obtains a Accounting zoned date-time from another date-time object.
|
public java.lang.String getId()
The ID uniquely identifies the Chronology,
but does not differentiate between instances of AccountingChronology.
It cannot be used to lookup the Chronology using Chronology.of(String),
because each instance requires setup.
getCalendarType()public java.lang.String getCalendarType()
The Unicode Locale Data Markup Language (LDML) specification does not define an identifier for 52/53 week calendars used for accounting purposes, and given that setup required is unlikely to do so. For this reason, the calendar type is null.
getId()public AccountingDate date(java.time.chrono.Era era, int yearOfEra, int month, int dayOfMonth)
era - the Accounting era, not nullyearOfEra - the year-of-eramonth - the month-of-yeardayOfMonth - the day-of-monthjava.time.DateTimeException - if unable to create the datejava.lang.ClassCastException - if the era is not a AccountingErapublic AccountingDate date(int prolepticYear, int month, int dayOfMonth)
prolepticYear - the proleptic-yearmonth - the month-of-yeardayOfMonth - the day-of-monthjava.time.DateTimeException - if unable to create the datepublic AccountingDate dateYearDay(java.time.chrono.Era era, int yearOfEra, int dayOfYear)
era - the Accounting era, not nullyearOfEra - the year-of-eradayOfYear - the day-of-yearjava.time.DateTimeException - if unable to create the datejava.lang.ClassCastException - if the era is not a AccountingErapublic AccountingDate dateYearDay(int prolepticYear, int dayOfYear)
prolepticYear - the proleptic-yeardayOfYear - the day-of-yearjava.time.DateTimeException - if unable to create the datepublic AccountingDate dateEpochDay(long epochDay)
epochDay - the epoch dayjava.time.DateTimeException - if unable to create the datepublic AccountingDate dateNow()
This will query the system clock in the default
time-zone to obtain the current date.
Using this method will prevent the ability to use an alternate clock for testing because the clock is hard-coded.
java.time.DateTimeException - if unable to create the datepublic AccountingDate dateNow(java.time.ZoneId zone)
This will query the system clock to obtain the current date.
Specifying the time-zone avoids dependence on the default time-zone.
Using this method will prevent the ability to use an alternate clock for testing because the clock is hard-coded.
zone - the zone ID to use, not nulljava.time.DateTimeException - if unable to create the datepublic AccountingDate dateNow(java.time.Clock clock)
This will query the specified clock to obtain the current date - today.
Using this method allows the use of an alternate clock for testing.
The alternate clock may be introduced using dependency injection.
clock - the clock to use, not nulljava.time.DateTimeException - if unable to create the datepublic AccountingDate date(java.time.temporal.TemporalAccessor temporal)
temporal - the date-time object to convert, not nulljava.time.DateTimeException - if unable to create the datepublic java.time.chrono.ChronoLocalDateTime<AccountingDate> localDateTime(java.time.temporal.TemporalAccessor temporal)
temporal - the date-time object to convert, not nulljava.time.DateTimeException - if unable to create the date-timepublic java.time.chrono.ChronoZonedDateTime<AccountingDate> zonedDateTime(java.time.temporal.TemporalAccessor temporal)
temporal - the date-time object to convert, not nulljava.time.DateTimeException - if unable to create the date-timepublic java.time.chrono.ChronoZonedDateTime<AccountingDate> zonedDateTime(java.time.Instant instant, java.time.ZoneId zone)
Instant.instant - the instant to create the date-time from, not nullzone - the time-zone, not nulljava.time.DateTimeException - if the result exceeds the supported rangepublic boolean isLeapYear(long prolepticYear)
An Accounting proleptic-year is leap if the time between the end of the previous year and the end of the current year is 371 days. This method does not validate the year passed in, and only has a well-defined result for years in the supported range.
prolepticYear - the proleptic-year to check, not validated for rangepublic int prolepticYear(java.time.chrono.Era era,
int yearOfEra)
public AccountingEra eraOf(int era)
public java.util.List<java.time.chrono.Era> eras()
public java.time.temporal.ValueRange range(java.time.temporal.ChronoField field)
public boolean equals(java.lang.Object obj)
equals in class java.time.chrono.AbstractChronologypublic int hashCode()
hashCode in class java.time.chrono.AbstractChronologypublic java.lang.String toString()
toString in class java.time.chrono.AbstractChronologyCopyright © 2010–2018 ThreeTen.org. All rights reserved.