org.joda.time.base
Class BaseDateTime

java.lang.Object
  extended by org.joda.time.base.AbstractInstant
      extended by org.joda.time.base.AbstractDateTime
          extended by org.joda.time.base.BaseDateTime
All Implemented Interfaces:
Serializable, Comparable<ReadableInstant>, ReadableDateTime, ReadableInstant
Direct Known Subclasses:
DateMidnight, DateTime, MutableDateTime

public abstract class BaseDateTime
extends AbstractDateTime
implements ReadableDateTime, 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(Object instant, Chronology chronology)
          Constructs an instance from an Object that represents a datetime, 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.
 
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
equals, get, getZone, hashCode, isAfter, isBefore, isEqual, isSupported, toInstant, toString
 
Methods inherited from interface java.lang.Comparable
compareTo
 

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(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

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.

Parameters:
instant - the datetime object
chronology - the chronology
Throws:
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


Copyright © 2002-2012 Joda.org. All Rights Reserved.