public abstract class

BaseDateTime

extends AbstractDateTime
implements Serializable ReadableDateTime
java.lang.Object
   ↳ org.joda.time.base.AbstractInstant
     ↳ org.joda.time.base.AbstractDateTime
       ↳ org.joda.time.base.BaseDateTime
Known Direct Subclasses

Class Overview

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.

Summary

Public Constructors
BaseDateTime()
Constructs an instance set to the current system millisecond time using ISOChronology in the default time zone.
BaseDateTime(DateTimeZone zone)
Constructs an instance set to the current system millisecond time using ISOChronology in the specified time zone.
BaseDateTime(Chronology chronology)
Constructs an instance set to the current system millisecond time using the specified chronology.
BaseDateTime(long instant)
Constructs an instance set to the milliseconds from 1970-01-01T00:00:00Z using ISOChronology in the default time zone.
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.
BaseDateTime(long instant, Chronology chronology)
Constructs an instance set to the milliseconds from 1970-01-01T00:00:00Z using the specified chronology.
BaseDateTime(Object instant, DateTimeZone zone)
Constructs an instance from an Object that represents a datetime, forcing the time zone to that specified.
BaseDateTime(Object instant, Chronology chronology)
Constructs an instance from an Object that represents a datetime, using the specified chronology.
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.
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.
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.
Public Methods
Chronology getChronology()
Gets the chronology of the datetime.
long getMillis()
Gets the milliseconds of the datetime instant from the Java epoch of 1970-01-01T00:00:00Z.
Protected Methods
Chronology checkChronology(Chronology chronology)
Checks the specified chronology before storing it, potentially altering it.
long checkInstant(long instant, Chronology chronology)
Checks the specified instant before storing it, potentially altering it.
void setChronology(Chronology chronology)
Sets the chronology of the datetime.
void setMillis(long instant)
Sets the milliseconds of the datetime.
[Expand]
Inherited Methods
From class org.joda.time.base.AbstractDateTime
From class org.joda.time.base.AbstractInstant
From class java.lang.Object
From interface java.lang.Comparable
From interface org.joda.time.ReadableDateTime
From interface org.joda.time.ReadableInstant

Public Constructors

public BaseDateTime ()

Constructs an instance set to the current system millisecond time using ISOChronology in the default time zone.

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.

Parameters
zone the time zone, null means default zone

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.

Parameters
chronology the chronology, null means ISOChronology in default zone

public BaseDateTime (long instant)

Constructs an instance set to the milliseconds from 1970-01-01T00:00:00Z using ISOChronology in the default time zone.

Parameters
instant the milliseconds from 1970-01-01T00:00:00Z

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.

Parameters
instant the milliseconds from 1970-01-01T00:00:00Z
zone the time zone, null means default zone

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.

Parameters
instant the milliseconds from 1970-01-01T00:00:00Z
chronology the chronology, null means ISOChronology in default zone

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.

Parameters
instant the datetime object
zone the time zone
Throws
IllegalArgumentException if the instant is invalid

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.

Parameters
instant the datetime object
chronology the chronology
Throws
IllegalArgumentException if the instant is invalid

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.

Parameters
year the year
monthOfYear the month of the year
dayOfMonth the day of the month
hourOfDay the hour of the day
minuteOfHour the minute of the hour
secondOfMinute the second of the minute
millisOfSecond the millisecond of the second

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.

Parameters
year the year
monthOfYear the month of the year
dayOfMonth the day of the month
hourOfDay the hour of the day
minuteOfHour the minute of the hour
secondOfMinute the second of the minute
millisOfSecond the millisecond of the second
zone the time zone, null means default time zone

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.

Parameters
year the year
monthOfYear the month of the year
dayOfMonth the day of the month
hourOfDay the hour of the day
minuteOfHour the minute of the hour
secondOfMinute the second of the minute
millisOfSecond the millisecond of the second
chronology the chronology, null means ISOChronology in default zone

Public Methods

public Chronology getChronology ()

Gets the chronology of the datetime.

Returns
  • the Chronology that the datetime is using

public long getMillis ()

Gets the milliseconds of the datetime instant from the Java epoch of 1970-01-01T00:00:00Z.

Returns
  • the number of milliseconds since 1970-01-01T00:00:00Z

Protected Methods

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.

Parameters
chronology the chronology to use, may be null
Returns
  • the chronology to store in this datetime, not null

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.

Parameters
instant the milliseconds from 1970-01-01T00:00:00Z to round
chronology the chronology to use, not null
Returns
  • the instant to store in this datetime

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.

Parameters
chronology the chronology to set

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.

Parameters
instant the milliseconds since 1970-01-01T00:00:00Z to set the datetime to