BaseDateTime is an abstract implementation of ReadableDateTime that stores
data in
long
and
Chronology
fields.
This class should generally not be used directly by API users.
The
ReadableDateTime
interface should be used when different
kinds of date/time objects are to be referenced.
BaseDateTime subclasses may be mutable and not thread-safe.
BaseDateTime
public BaseDateTime()
Constructs an instance set to the current system millisecond time
using ISOChronology
in the default time zone.
BaseDateTime
public BaseDateTime(Object instant,
Chronology chronology)
Constructs an instance from an Object that represents a datetime,
using the specified chronology.
If the chronology is null, ISO in the default time zone is used.
The recognised object types are defined in
ConverterManager
and
include ReadableInstant, String, Calendar and Date.
instant
- the datetime objectchronology
- the chronology
BaseDateTime
public BaseDateTime(Object instant,
DateTimeZone zone)
Constructs an instance from an Object that represents a datetime,
forcing the time zone to that specified.
If the object contains no chronology,
ISOChronology
is used.
If the specified time zone is null, the default zone is used.
The recognised object types are defined in
ConverterManager
and
include ReadableInstant, String, Calendar and Date.
instant
- the datetime objectzone
- the time zone
BaseDateTime
public BaseDateTime(int year,
int monthOfYear,
int dayOfMonth,
int hourOfDay,
int minuteOfHour,
int secondOfMinute,
int millisOfSecond)
Constructs an instance from datetime field values
using ISOChronology
in the default time zone.
year
- the yearmonthOfYear
- the month of the yeardayOfMonth
- the day of the monthhourOfDay
- the hour of the dayminuteOfHour
- the minute of the hoursecondOfMinute
- the second of the minutemillisOfSecond
- the millisecond of the second
BaseDateTime
public BaseDateTime(int year,
int monthOfYear,
int dayOfMonth,
int hourOfDay,
int minuteOfHour,
int secondOfMinute,
int millisOfSecond,
Chronology chronology)
Constructs an instance from datetime field values
using the specified chronology.
If the chronology is null,
ISOChronology
in the default time zone is used.
year
- the yearmonthOfYear
- the month of the yeardayOfMonth
- the day of the monthhourOfDay
- the hour of the dayminuteOfHour
- the minute of the hoursecondOfMinute
- the second of the minutemillisOfSecond
- the millisecond of the secondchronology
- the chronology, null means ISOChronology in default zone
BaseDateTime
public BaseDateTime(int year,
int monthOfYear,
int dayOfMonth,
int hourOfDay,
int minuteOfHour,
int secondOfMinute,
int millisOfSecond,
DateTimeZone zone)
Constructs an instance from datetime field values
using
ISOChronology
in the specified time zone.
If the specified time zone is null, the default zone is used.
year
- the yearmonthOfYear
- the month of the yeardayOfMonth
- the day of the monthhourOfDay
- the hour of the dayminuteOfHour
- the minute of the hoursecondOfMinute
- the second of the minutemillisOfSecond
- the millisecond of the secondzone
- the time zone, null means default time zone
BaseDateTime
public BaseDateTime(long instant)
Constructs an instance set to the milliseconds from 1970-01-01T00:00:00Z
using ISOChronology
in the default time zone.
instant
- the milliseconds from 1970-01-01T00:00:00Z
BaseDateTime
public BaseDateTime(long instant,
Chronology chronology)
Constructs an instance set to the milliseconds from 1970-01-01T00:00:00Z
using the specified chronology.
If the chronology is null,
ISOChronology
in the default time zone is used.
instant
- the milliseconds from 1970-01-01T00:00:00Zchronology
- the chronology, null means ISOChronology in default zone
BaseDateTime
public BaseDateTime(long instant,
DateTimeZone zone)
Constructs an instance set to the milliseconds from 1970-01-01T00:00:00Z
using
ISOChronology
in the specified time zone.
If the specified time zone is null, the default zone is used.
instant
- the milliseconds from 1970-01-01T00:00:00Zzone
- the time zone, null means default zone
BaseDateTime
public BaseDateTime(Chronology chronology)
Constructs an instance set to the current system millisecond time
using the specified chronology.
If the chronology is null,
ISOChronology
in the default time zone is used.
chronology
- the chronology, null means ISOChronology in default zone
BaseDateTime
public BaseDateTime(DateTimeZone zone)
Constructs an instance set to the current system millisecond time
using
ISOChronology
in the specified time zone.
If the specified time zone is null, the default zone is used.
zone
- the time zone, null means default zone
checkChronology
protected Chronology checkChronology(Chronology chronology)
Checks the specified chronology before storing it, potentially altering it.
This method must not access any instance variables.
This implementation converts nulls to ISOChronology in the default zone.
chronology
- the chronology to use, may be null
- the chronology to store in this datetime, not null
checkInstant
protected long checkInstant(long instant,
Chronology chronology)
Checks the specified instant before storing it, potentially altering it.
This method must not access any instance variables.
This implementation simply returns the instant.
instant
- the milliseconds from 1970-01-01T00:00:00Z to roundchronology
- the chronology to use, not null
- the instant to store in this datetime
getMillis
public long getMillis()
Gets the milliseconds of the datetime instant from the Java epoch
of 1970-01-01T00:00:00Z.
- getMillis in interface ReadableInstant
- the number of milliseconds since 1970-01-01T00:00:00Z
setChronology
protected void setChronology(Chronology chronology)
Sets the chronology of the datetime.
All changes to the chronology field occurs via this method.
Override and block this method to make a subclass immutable.
chronology
- the chronology to set
setMillis
protected void setMillis(long instant)
Sets the milliseconds of the datetime.
All changes to the millisecond field occurs via this method.
Override and block this method to make a subclass immutable.
instant
- the milliseconds since 1970-01-01T00:00:00Z to set the datetime to