Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.joda.time.base
Class BaseDateTime

    java.lang.Object
      org.joda.time.base.AbstractInstant
          org.joda.time.base.AbstractDateTime
              org.joda.time.base.BaseDateTime

All Implemented Interfaces:
  java.io.Serializable, java.lang.Comparable, ReadableDateTime, ReadableInstant

Direct Known Subclasses:
  DateMidnight, DateTime, MutableDateTime

    public abstract class BaseDateTime

extends AbstractDateTime
implements ReadableDateTime, java.io.Serializable

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.

Since:
  1.0
Author:
  Stephen Colebourne, Kandarp Shah, Brian S O'Neill
See Also:
  Serialized Form

Constructor Summary
`BaseDateTime()` Constructs an instance set to the current system millisecond time using `ISOChronology` in the default time zone.
`BaseDateTime(Chronology chronology)` Constructs an instance set to the current system millisecond time using the specified chronology.
`BaseDateTime(DateTimeZone zone)` Constructs an instance set to the current system millisecond time using `ISOChronology` in the specified time zone.
`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, Chronology chronology)` Constructs an instance from datetime field values using the specified chronology.
`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(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, Chronology chronology)` Constructs an instance set to the milliseconds from 1970-01-01T00:00:00Z using the specified chronology.
`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(java.lang.Object instant, Chronology chronology)` Constructs an instance from an Object that represents a datetime, using the specified chronology.
`BaseDateTime(java.lang.Object instant, DateTimeZone zone)` Constructs an instance from an Object that represents a datetime, forcing the time zone to that specified.

Method Summary
`protected Chronology` | `checkChronology(Chronology chronology)` Checks the specified chronology before storing it, potentially altering it.
`protected long` | `checkInstant(long instant, Chronology chronology)` Checks the specified instant before storing it, potentially altering it.
`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 void` | `setChronology(Chronology chronology)` Sets the chronology of the datetime.
`protected void` | `setMillis(long instant)` Sets the milliseconds of the datetime.

Methods inherited from class org.joda.time.base.AbstractDateTime
`get, getCenturyOfEra, getDayOfMonth, getDayOfWeek, getDayOfYear, getEra, getHourOfDay, getMillisOfDay, getMillisOfSecond, getMinuteOfDay, getMinuteOfHour, getMonthOfYear, getSecondOfDay, getSecondOfMinute, getWeekOfWeekyear, getWeekyear, getYear, getYearOfCentury, getYearOfEra, toCalendar, toGregorianCalendar, toString, toString`

Methods inherited from class org.joda.time.base.AbstractInstant
`compareTo, equals, get, getZone, hashCode, isAfter, isAfter, isAfterNow, isBefore, isBefore, isBeforeNow, isEqual, isEqual, isEqualNow, isSupported, toDate, toDateTime, toDateTime, toDateTime, toDateTimeISO, toInstant, toMutableDateTime, toMutableDateTime, toMutableDateTime, toMutableDateTimeISO, toString, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.joda.time.ReadableDateTime
`getCenturyOfEra, getDayOfMonth, getDayOfWeek, getDayOfYear, getEra, getHourOfDay, getMillisOfDay, getMillisOfSecond, getMinuteOfDay, getMinuteOfHour, getMonthOfYear, getSecondOfDay, getSecondOfMinute, getWeekOfWeekyear, getWeekyear, getYear, getYearOfCentury, getYearOfEra, toDateTime, toMutableDateTime, toString, toString`

Methods inherited from interface org.joda.time.ReadableInstant
`compareTo, equals, get, getZone, hashCode, isAfter, isBefore, isEqual, isSupported, toInstant, toString`

Constructor Detail

### BaseDateTime

    public BaseDateTime()

  Constructs an instance set to the current system millisecond time using `ISOChronology` in the default time 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.

  Parameters:
    `zone` - 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.

  Parameters:
    `chronology` - the chronology, null means ISOChronology in default 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.

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

### 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.

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

### 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.

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

### BaseDateTime

    public BaseDateTime(java.lang.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:
    `java.lang.IllegalArgumentException` - if the instant is invalid

### BaseDateTime

    public BaseDateTime(java.lang.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:
    `java.lang.IllegalArgumentException` - if the instant is invalid

### 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.

  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

### 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.

  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

### 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.

  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

Method Detail

### 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.

  Parameters:
    `chronology` - the chronology to use, may be null
  Returns:
    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.

  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

### getMillis

    public long getMillis()

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

  Specified by:
    `getMillis` in interface `ReadableInstant`
  Returns:
    the number of milliseconds since 1970-01-01T00:00:00Z

### getChronology

    public Chronology getChronology()

  Gets the chronology of the datetime.

  Specified by:
    `getChronology` in interface `ReadableInstant`
  Returns:
    the Chronology that the datetime is using

### 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.

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

### 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.

  Parameters:
    `chronology` - the chronology to set

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD