org.joda.time.base

Class BaseDateTime

Implemented Interfaces:
Comparable, ReadableDateTime, ReadableInstant, Serializable
Known Direct 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.

Authors:
Stephen Colebourne
Kandarp Shah
Brian S O'Neill
Since:
1.0

Constructor Summary

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

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

Constructor Details

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.

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

Parameters:
instant - the datetime object
zone - 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.
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,
                    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

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

Method Details

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

getChronology

public Chronology getChronology()
Gets the chronology of the datetime.
Specified by:
getChronology in interface ReadableInstant
Returns:
the Chronology that the datetime is using

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

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

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

Copyright (c) 2001-2006 - Joda.org