Top Description Fields Constructors Methods
org.threeten.extra.chrono

public final Class AccountingChronology

extends AbstractChronology
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Static Imports
org.threeten.extra.chrono.AccountingYearDivision.THIRTEEN_EVEN_MONTHS_OF_4_WEEKS

An Accounting calendar system.

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:

Implementation Requirements

This class is immutable and thread-safe.

Field Summary

Modifier and TypeField and Description
private static final ValueRange
ALIGNED_WEEK_OF_YEAR_RANGE

Range of weeks in year.

private final transient ValueRange
alignedWeekOfMonthRange

Number of weeks in a month range.

pack-priv static final ValueRange
DAY_OF_YEAR_RANGE

Range of days in year.

private final transient ValueRange
dayOfMonthRange

Number of days in a month range.

private final transient int
days0001ToIso1970

Number of days from the start of Accounting year 1 (for this chronology) to the start of ISO 1970

private final AccountingYearDivision
division

How to divide an accounting year.

private final Month
end

Which Gregorian/ISO end-of-month the year ends in/is nearest to.

private final DayOfWeek
endsOn

The day of the week on which a given Accounting year ends.

private final boolean
inLastWeek

Whether the calendar ends in the last week of a given Gregorian/ISO month, or nearest to the last day of the month (will sometimes be in the next month).

private final int
leapWeekInMonth

The month which will have the leap-week added.

private static final ValueRange
PROLEPTIC_MONTH_RANGE_12

Range of proleptic month for 12-month (period) year.

private static final ValueRange
PROLEPTIC_MONTH_RANGE_13

Range of proleptic month for 13-month (period) year.

private static final long
serialVersionUID

Serialization version.

private final int
yearOffset

The year offset.

private final transient int
yearZeroDifference

Difference in days between accounting year end and ISO month end, in ISO year 0.

Constructor Summary

AccessConstructor and Description
private
AccountingChronology(DayOfWeek
The day-of-week a given year ends on.
endsOn
,
Month
The month-end the year is based on.
end
,
boolean
Whether the year ends in the last week of the month, or nearest the end-of-month.
inLastWeek
,
AccountingYearDivision
How the year is divided.
division
,
int
The month in which the leap-week resides.
leapWeekInMonth
,
int
Difference in days between accounting year end and ISO month end, in ISO year 0.
yearZeroDifference
,
ValueRange
Range of weeks in month.
alignedWeekOfMonthRange
,
ValueRange
Range of days in month.
dayOfMonthRange
,
int
The number of days between the start of Accounting 1 and ISO 1970.
daysToEpoch
,
int yearOffset)

Creates an instance from validated data, and cached data.

Method Summary

Modifier and TypeMethod and Description
pack-priv static AccountingChronology

Returns:

The created Chronology, not null.
create
(DayOfWeek
The day-of-week a given year ends on.
endsOn
,
Month
The month-end the year is based on.
end
,
boolean
Whether the year ends in the last week of the month, or nearest the end-of-month.
inLastWeek
,
AccountingYearDivision
How the year is divided.
division
,
int
The month in which the leap-week resides.
leapWeekInMonth
,
int yearOffset)

Creates an AccountingChronology validating the input.

public AccountingDate

Returns:

the Accounting local date, not null
date
(Era
the Accounting era, not null
era
,
int
the year-of-era
yearOfEra
,
int
the month-of-year
month
,
int
the day-of-month
dayOfMonth
)

Overrides default java.time.chrono.Chronology.date.

Obtains a local date in Accounting calendar system from the era, year-of-era, month-of-year and day-of-month fields.

public AccountingDate

Returns:

the Accounting local date, not null
date
(int
the proleptic-year
prolepticYear
,
int
the month-of-year
month
,
int
the day-of-month
dayOfMonth
)

Implements java.time.chrono.Chronology.date.

Obtains a local date in Accounting calendar system from the proleptic-year, month-of-year and day-of-month fields.

public AccountingDate

Returns:

the Accounting local date, not null
date
(TemporalAccessor
the date-time object to convert, not null
temporal
)

Implements java.time.chrono.Chronology.date.

Obtains a Accounting local date from another date-time object.

public AccountingDate

Returns:

the Accounting local date, not null
dateEpochDay
(long
the epoch day
epochDay
)

Implements java.time.chrono.Chronology.dateEpochDay.

Obtains a local date in the Accounting calendar system from the epoch-day.

public AccountingDate

Returns:

the current Accounting local date using the system clock and default time-zone, not null
dateNow
()

Overrides default java.time.chrono.Chronology.dateNow.

Obtains the current Accounting local date from the system clock in the default time-zone.

public AccountingDate

Returns:

the current Accounting local date using the system clock, not null
dateNow
(ZoneId
the zone ID to use, not null
zone
)

Overrides default java.time.chrono.Chronology.dateNow.

Obtains the current Accounting local date from the system clock in the specified time-zone.

public AccountingDate

Returns:

the current Accounting local date, not null
dateNow
(Clock
the clock to use, not null
clock
)

Overrides default java.time.chrono.Chronology.dateNow.

Obtains the current Accounting local date from the specified clock.

public AccountingDate

Returns:

the Accounting local date, not null
dateYearDay
(Era
the Accounting era, not null
era
,
int
the year-of-era
yearOfEra
,
int
the day-of-year
dayOfYear
)

Overrides default java.time.chrono.Chronology.dateYearDay.

Obtains a local date in Accounting calendar system from the era, year-of-era and day-of-year fields.

public AccountingDate

Returns:

the Accounting local date, not null
dateYearDay
(int
the proleptic-year
prolepticYear
,
int
the day-of-year
dayOfYear
)

Implements java.time.chrono.Chronology.dateYearDay.

Obtains a local date in Accounting calendar system from the proleptic-year and day-of-year fields.

public boolean
equals(Object
the object to check, null returns false
obj
)

Overrides java.time.chrono.AbstractChronology.equals.

Implements java.time.chrono.Chronology.equals.

Checks if this chronology is equal to another chronology.

public AccountingEra
eraOf(int
the era value
era
)

Implements java.time.chrono.Chronology.eraOf.

Creates the chronology era object from the numeric value.

public List<Era>
eras()

Implements java.time.chrono.Chronology.eras.

Gets the list of eras for the chronology.

public String

Returns:

null, as the calendar is unlikely to be specified in LDML
getCalendarType
()

Implements java.time.chrono.Chronology.getCalendarType.

Gets the calendar type of the underlying calendar system, which is null.

pack-priv int
pack-priv AccountingYearDivision
public String

Returns:

the chronology ID - 'Accounting'
getId
()

Implements java.time.chrono.Chronology.getId.

Gets the ID of the chronology - 'Accounting'.

private long

Returns:

the count of leap years since year 1.
getISOLeapYearCount
(long
the proleptic-year to check, not validated for range
prolepticYear
)

Return the number of ISO Leap Years since Accounting Year 1.

pack-priv int
public int
hashCode()

Overrides java.time.chrono.AbstractChronology.hashCode.

Implements java.time.chrono.Chronology.hashCode.

A hash code for this chronology.

public boolean

Returns:

true if the year is a leap year
isLeapYear
(long
the proleptic-year to check, not validated for range
prolepticYear
)

Implements java.time.chrono.Chronology.isLeapYear.

Checks if the specified year is a leap year.

public ChronoLocalDateTime<AccountingDate>

Returns:

the Accounting local date-time, not null
localDateTime
(TemporalAccessor
the date-time object to convert, not null
temporal
)

Overrides default java.time.chrono.Chronology.localDateTime.

Obtains a Accounting local date-time from another date-time object.

pack-priv long

Returns:

the count of leap years since year 1.
previousLeapYears
(long
the proleptic-year to check, not validated for range
prolepticYear
)

Returns the count of leap years since year 1.

public int
prolepticYear(Era
the era of the correct type for the chronology, not null
era
,
int
the chronology year-of-era
yearOfEra
)

Implements java.time.chrono.Chronology.prolepticYear.

Calculates the proleptic-year given the era and year-of-era.

public ValueRange
range(ChronoField
the field to get the range for, not null
field
)

Implements java.time.chrono.Chronology.range.

Gets the range of valid values for the specified field.

private Object

Returns:

a built, validated instance.
readResolve
()

Resolve stored instances.

public String
toString()

Overrides java.time.chrono.AbstractChronology.toString.

Implements java.time.chrono.Chronology.toString.

Outputs this chronology as a String, using the chronology ID.

public ChronoZonedDateTime<AccountingDate>

Returns:

the Accounting zoned date-time, not null
zonedDateTime
(TemporalAccessor
the date-time object to convert, not null
temporal
)

Overrides default java.time.chrono.Chronology.zonedDateTime.

Obtains a Accounting zoned date-time from another date-time object.

public ChronoZonedDateTime<AccountingDate>

Returns:

the Accounting zoned date-time, not null
zonedDateTime
(Instant
the instant to create the date-time from, not null
instant
,
ZoneId
the time-zone, not null
zone
)

Overrides default java.time.chrono.Chronology.zonedDateTime.

Obtains a Accounting zoned date-time in this chronology from an Instant.

Inherited from java.time.chrono.AbstractChronology:
compareToresolveDate

Field Detail

ALIGNED_WEEK_OF_YEAR_RANGEback to summary
private static final ValueRange ALIGNED_WEEK_OF_YEAR_RANGE

Range of weeks in year.

alignedWeekOfMonthRangeback to summary
private final transient ValueRange alignedWeekOfMonthRange

Number of weeks in a month range.

DAY_OF_YEAR_RANGEback to summary
pack-priv static final ValueRange DAY_OF_YEAR_RANGE

Range of days in year.

dayOfMonthRangeback to summary
private final transient ValueRange dayOfMonthRange

Number of days in a month range.

days0001ToIso1970back to summary
private final transient int days0001ToIso1970

Number of days from the start of Accounting year 1 (for this chronology) to the start of ISO 1970

divisionback to summary
private final AccountingYearDivision division

How to divide an accounting year.

endback to summary
private final Month end

Which Gregorian/ISO end-of-month the year ends in/is nearest to.

endsOnback to summary
private final DayOfWeek endsOn

The day of the week on which a given Accounting year ends.

inLastWeekback to summary
private final boolean inLastWeek

Whether the calendar ends in the last week of a given Gregorian/ISO month, or nearest to the last day of the month (will sometimes be in the next month).

leapWeekInMonthback to summary
private final int leapWeekInMonth

The month which will have the leap-week added.

PROLEPTIC_MONTH_RANGE_12back to summary
private static final ValueRange PROLEPTIC_MONTH_RANGE_12

Range of proleptic month for 12-month (period) year.

PROLEPTIC_MONTH_RANGE_13back to summary
private static final ValueRange PROLEPTIC_MONTH_RANGE_13

Range of proleptic month for 13-month (period) year.

serialVersionUIDback to summary
private static final long serialVersionUID

Serialization version.

yearOffsetback to summary
private final int yearOffset

The year offset.

yearZeroDifferenceback to summary
private final transient int yearZeroDifference

Difference in days between accounting year end and ISO month end, in ISO year 0.

Constructor Detail

AccountingChronologyback to summary
private AccountingChronology(DayOfWeek endsOn, Month end, boolean inLastWeek, AccountingYearDivision division, int leapWeekInMonth, int yearZeroDifference, ValueRange alignedWeekOfMonthRange, ValueRange dayOfMonthRange, int daysToEpoch, int yearOffset)

Creates an instance from validated data, and cached data.

Parameters
endsOn:DayOfWeek

The day-of-week a given year ends on.

end:Month

The month-end the year is based on.

inLastWeek:boolean

Whether the year ends in the last week of the month, or nearest the end-of-month.

division:AccountingYearDivision

How the year is divided.

leapWeekInMonth:int

The month in which the leap-week resides.

yearZeroDifference:int

Difference in days between accounting year end and ISO month end, in ISO year 0.

alignedWeekOfMonthRange:ValueRange

Range of weeks in month.

dayOfMonthRange:ValueRange

Range of days in month.

daysToEpoch:int

The number of days between the start of Accounting 1 and ISO 1970.

Method Detail

createback to summary
pack-priv static AccountingChronology create(DayOfWeek endsOn, Month end, boolean inLastWeek, AccountingYearDivision division, int leapWeekInMonth, int yearOffset)

Creates an AccountingChronology validating the input. Package private as only meant to be called from the builder.

Parameters
endsOn:DayOfWeek

The day-of-week a given year ends on.

end:Month

The month-end the year is based on.

inLastWeek:boolean

Whether the year ends in the last week of the month, or nearest the end-of-month.

division:AccountingYearDivision

How the year is divided.

leapWeekInMonth:int

The month in which the leap-week resides.

Returns:AccountingChronology

The created Chronology, not null.

Exceptions
DateTimeException:
if the chronology cannot be built.
dateback to summary
public AccountingDate date(Era era, int yearOfEra, int month, int dayOfMonth)

Overrides default java.time.chrono.Chronology.date.

Obtains a local date in Accounting calendar system from the era, year-of-era, month-of-year and day-of-month fields.

Parameters
era:Era

the Accounting era, not null

yearOfEra:int

the year-of-era

month:int

the month-of-year

dayOfMonth:int

the day-of-month

Returns:AccountingDate

the Accounting local date, not null

Annotations
@Override
Exceptions
DateTimeException:
if unable to create the date
ClassCastException:
if the era is not a AccountingEra
dateback to summary
public AccountingDate date(int prolepticYear, int month, int dayOfMonth)

Implements java.time.chrono.Chronology.date.

Obtains a local date in Accounting calendar system from the proleptic-year, month-of-year and day-of-month fields.

Parameters
prolepticYear:int

the proleptic-year

month:int

the month-of-year

dayOfMonth:int

the day-of-month

Returns:AccountingDate

the Accounting local date, not null

Annotations
@Override
Exceptions
DateTimeException:
if unable to create the date
dateback to summary
public AccountingDate date(TemporalAccessor temporal)

Implements java.time.chrono.Chronology.date.

Obtains a Accounting local date from another date-time object.

Parameters
temporal:TemporalAccessor

the date-time object to convert, not null

Returns:AccountingDate

the Accounting local date, not null

Annotations
@Override
Exceptions
DateTimeException:
if unable to create the date
dateEpochDayback to summary
public AccountingDate dateEpochDay(long epochDay)

Implements java.time.chrono.Chronology.dateEpochDay.

Obtains a local date in the Accounting calendar system from the epoch-day.

Parameters
epochDay:long

the epoch day

Returns:AccountingDate

the Accounting local date, not null

Annotations
@Override
Exceptions
DateTimeException:
if unable to create the date
dateNowback to summary
public AccountingDate dateNow()

Overrides default java.time.chrono.Chronology.dateNow.

Obtains the current Accounting local date from the system clock in the default time-zone.

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.

Returns:AccountingDate

the current Accounting local date using the system clock and default time-zone, not null

Annotations
@Override
Exceptions
DateTimeException:
if unable to create the date
dateNowback to summary
public AccountingDate dateNow(ZoneId zone)

Overrides default java.time.chrono.Chronology.dateNow.

Obtains the current Accounting local date from the system clock in the specified time-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.

Parameters
zone:ZoneId

the zone ID to use, not null

Returns:AccountingDate

the current Accounting local date using the system clock, not null

Annotations
@Override
Exceptions
DateTimeException:
if unable to create the date
dateNowback to summary
public AccountingDate dateNow(Clock clock)

Overrides default java.time.chrono.Chronology.dateNow.

Obtains the current Accounting local date from the specified 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.

Parameters
clock:Clock

the clock to use, not null

Returns:AccountingDate

the current Accounting local date, not null

Annotations
@Override
Exceptions
DateTimeException:
if unable to create the date
dateYearDayback to summary
public AccountingDate dateYearDay(Era era, int yearOfEra, int dayOfYear)

Overrides default java.time.chrono.Chronology.dateYearDay.

Obtains a local date in Accounting calendar system from the era, year-of-era and day-of-year fields.

Parameters
era:Era

the Accounting era, not null

yearOfEra:int

the year-of-era

dayOfYear:int

the day-of-year

Returns:AccountingDate

the Accounting local date, not null

Annotations
@Override
Exceptions
DateTimeException:
if unable to create the date
ClassCastException:
if the era is not a AccountingEra
dateYearDayback to summary
public AccountingDate dateYearDay(int prolepticYear, int dayOfYear)

Implements java.time.chrono.Chronology.dateYearDay.

Obtains a local date in Accounting calendar system from the proleptic-year and day-of-year fields.

Parameters
prolepticYear:int

the proleptic-year

dayOfYear:int

the day-of-year

Returns:AccountingDate

the Accounting local date, not null

Annotations
@Override
Exceptions
DateTimeException:
if unable to create the date
equalsback to summary
public boolean equals(Object obj)

Overrides java.time.chrono.AbstractChronology.equals.

Implements java.time.chrono.Chronology.equals.

Doc from java.time.chrono.AbstractChronology.equals.

Checks if this chronology is equal to another chronology.

The comparison is based on the entire state of the object.

Parameters
obj:Object

the object to check, null returns false

Returns:boolean

true if this is equal to the other chronology

Annotations
@Override
eraOfback to summary
public AccountingEra eraOf(int era)

Implements java.time.chrono.Chronology.eraOf.

Doc from java.time.chrono.Chronology.eraOf.

Creates the chronology era object from the numeric value.

The era is, conceptually, the largest division of the time-line. Most calendar systems have a single epoch dividing the time-line into two eras. However, some have multiple eras, such as one for the reign of each leader. The exact meaning is determined by the chronology according to the following constraints.

The era in use at 1970-01-01 must have the value 1. Later eras must have sequentially higher values. Earlier eras must have sequentially lower values. Each chronology must refer to an enum or similar singleton to provide the era values.

This method returns the singleton era of the correct type for the specified era value.

Parameters
era:int

the era value

Returns:AccountingEra

the calendar system era, not null

Annotations
@Override
erasback to summary
public List<Era> eras()

Implements java.time.chrono.Chronology.eras.

Doc from java.time.chrono.Chronology.eras.

Gets the list of eras for the chronology.

Most calendar systems have an era, within which the year has meaning. If the calendar system does not support the concept of eras, an empty list must be returned.

Returns:List<Era>

the list of eras for the chronology, may be immutable, not null

Annotations
@Override
getCalendarTypeback to summary
public String getCalendarType()

Implements java.time.chrono.Chronology.getCalendarType.

Gets the calendar type of the underlying calendar system, which is null.

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.

Returns:String

null, as the calendar is unlikely to be specified in LDML

Annotations
@Override
See Also
getId()
getDays0001ToIso1970back to summary
pack-priv int getDays0001ToIso1970()
getDivisionback to summary
pack-priv AccountingYearDivision getDivision()
getIdback to summary
public String getId()

Implements java.time.chrono.Chronology.getId.

Gets the ID of the chronology - 'Accounting'.

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.

Returns:String

the chronology ID - 'Accounting'

Annotations
@Override
See Also
getCalendarType()
getISOLeapYearCountback to summary
private long getISOLeapYearCount(long prolepticYear)

Return the number of ISO Leap Years since Accounting Year 1.

This method calculates how many ISO leap years have passed since year 1. The count returned may be negative for years before 1. This method does not validate the year passed in, and only has a well-defined result for years in the supported range.

Parameters
prolepticYear:long

the proleptic-year to check, not validated for range

Returns:long

the count of leap years since year 1.

getLeapWeekInMonthback to summary
pack-priv int getLeapWeekInMonth()
hashCodeback to summary
public int hashCode()

Overrides java.time.chrono.AbstractChronology.hashCode.

Implements java.time.chrono.Chronology.hashCode.

Doc from java.time.chrono.AbstractChronology.hashCode.

A hash code for this chronology.

The hash code should be based on the entire state of the object.

Returns:int

a suitable hash code

Annotations
@Override
isLeapYearback to summary
public boolean isLeapYear(long prolepticYear)

Implements java.time.chrono.Chronology.isLeapYear.

Checks if the specified year is a leap year.

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.

Parameters
prolepticYear:long

the proleptic-year to check, not validated for range

Returns:boolean

true if the year is a leap year

Annotations
@Override
localDateTimeback to summary
public ChronoLocalDateTime<AccountingDate> localDateTime(TemporalAccessor temporal)

Overrides default java.time.chrono.Chronology.localDateTime.

Obtains a Accounting local date-time from another date-time object.

Parameters
temporal:TemporalAccessor

the date-time object to convert, not null

Returns:ChronoLocalDateTime<AccountingDate>

the Accounting local date-time, not null

Annotations
@Override
@SuppressWarnings:unchecked
Exceptions
DateTimeException:
if unable to create the date-time
previousLeapYearsback to summary
pack-priv long previousLeapYears(long prolepticYear)

Returns the count of leap years since year 1.

This method calculates how many Accounting leap years have passed since year 1. The count returned may be negative for years before 1. This method does not validate the year passed in, and only has a well-defined result for years in the supported range.

Parameters
prolepticYear:long

the proleptic-year to check, not validated for range

Returns:long

the count of leap years since year 1.

prolepticYearback to summary
public int prolepticYear(Era era, int yearOfEra)

Implements java.time.chrono.Chronology.prolepticYear.

Doc from java.time.chrono.Chronology.prolepticYear.

Calculates the proleptic-year given the era and year-of-era.

This combines the era and year-of-era into the single proleptic-year field.

If the chronology makes active use of eras, such as JapaneseChronology then the year-of-era will be validated against the era. For other chronologies, validation is optional.

Parameters
era:Era

the era of the correct type for the chronology, not null

yearOfEra:int

the chronology year-of-era

Returns:int

the proleptic-year

Annotations
@Override
rangeback to summary
public ValueRange range(ChronoField field)

Implements java.time.chrono.Chronology.range.

Doc from java.time.chrono.Chronology.range.

Gets the range of valid values for the specified field.

All fields can be expressed as a long integer. This method returns an object that describes the valid range for that value.

Note that the result only describes the minimum and maximum valid values and it is important not to read too much into them. For example, there could be values within the range that are invalid for the field.

This method will return a result whether or not the chronology supports the field.

Parameters
field:ChronoField

the field to get the range for, not null

Returns:ValueRange

the range of valid values for the field, not null

Annotations
@Override
readResolveback to summary
private Object readResolve()

Resolve stored instances.

Returns:Object

a built, validated instance.

toStringback to summary
public String toString()

Overrides java.time.chrono.AbstractChronology.toString.

Implements java.time.chrono.Chronology.toString.

Doc from java.time.chrono.AbstractChronology.toString.

Outputs this chronology as a String, using the chronology ID.

Returns:String

a string representation of this chronology, not null

Annotations
@Override
zonedDateTimeback to summary
public ChronoZonedDateTime<AccountingDate> zonedDateTime(TemporalAccessor temporal)

Overrides default java.time.chrono.Chronology.zonedDateTime.

Obtains a Accounting zoned date-time from another date-time object.

Parameters
temporal:TemporalAccessor

the date-time object to convert, not null

Returns:ChronoZonedDateTime<AccountingDate>

the Accounting zoned date-time, not null

Annotations
@Override
@SuppressWarnings:unchecked
Exceptions
DateTimeException:
if unable to create the date-time
zonedDateTimeback to summary
public ChronoZonedDateTime<AccountingDate> zonedDateTime(Instant instant, ZoneId zone)

Overrides default java.time.chrono.Chronology.zonedDateTime.

Obtains a Accounting zoned date-time in this chronology from an Instant.

Parameters
instant:Instant

the instant to create the date-time from, not null

zone:ZoneId

the time-zone, not null

Returns:ChronoZonedDateTime<AccountingDate>

the Accounting zoned date-time, not null

Annotations
@Override
@SuppressWarnings:unchecked
Exceptions
DateTimeException:
if the result exceeds the supported range