Class AbstractInstant
- java.lang.Object
-
- org.joda.time.base.AbstractInstant
-
- All Implemented Interfaces:
java.lang.Comparable<ReadableInstant>
,ReadableInstant
- Direct Known Subclasses:
AbstractDateTime
,Instant
public abstract class AbstractInstant extends java.lang.Object implements ReadableInstant
AbstractInstant provides the common behaviour for instant classes.This class has no concept of a chronology, all methods work on the millisecond instant.
This class should generally not be used directly by API users. The
ReadableInstant
interface should be used when different kinds of date/time objects are to be referenced.Whenever you want to implement
ReadableInstant
you should extend this class.AbstractInstant itself is thread-safe and immutable, but subclasses may be mutable and not thread-safe.
- Since:
- 1.0
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(ReadableInstant other)
Compares this object with the specified object for ascending millisecond instant order.boolean
equals(java.lang.Object readableInstant)
Compares this object with the specified object for equality based on the millisecond instant, chronology and time zone.int
get(DateTimeField field)
Get the value of one of the fields of a datetime.int
get(DateTimeFieldType type)
Get the value of one of the fields of a datetime using the chronology of the instant.DateTimeZone
getZone()
Gets the time zone of the instant from the chronology.int
hashCode()
Gets a hash code for the instant as defined inReadableInstant
.boolean
isAfter(long instant)
Is this instant strictly after the millisecond instant passed in comparing solely by millisecond.boolean
isAfter(ReadableInstant instant)
Is this instant strictly after the instant passed in comparing solely by millisecond.boolean
isAfterNow()
Is this instant strictly after the current instant comparing solely by millisecond.boolean
isBefore(long instant)
Is this instant strictly before the millisecond instant passed in comparing solely by millisecond.boolean
isBefore(ReadableInstant instant)
Is this instant strictly before the instant passed in comparing solely by millisecond.boolean
isBeforeNow()
Is this instant strictly before the current instant comparing solely by millisecond.boolean
isEqual(long instant)
Is this instant equal to the millisecond instant passed in comparing solely by millisecond.boolean
isEqual(ReadableInstant instant)
Is this instant equal to the instant passed in comparing solely by millisecond.boolean
isEqualNow()
Is this instant equal to the current instant comparing solely by millisecond.boolean
isSupported(DateTimeFieldType type)
Checks if the field type specified is supported by this instant and chronology.java.util.Date
toDate()
Get the date time as ajava.util.Date
.DateTime
toDateTime()
Get this object as a DateTime in the same zone.DateTime
toDateTime(Chronology chronology)
Get this object as a DateTime using the given chronology and its zone.DateTime
toDateTime(DateTimeZone zone)
Get this object as a DateTime using the same chronology but a different zone.DateTime
toDateTimeISO()
Get this object as a DateTime using ISOChronology in the same zone.Instant
toInstant()
Get this object as an Instant.MutableDateTime
toMutableDateTime()
Get this object as a MutableDateTime in the same zone.MutableDateTime
toMutableDateTime(Chronology chronology)
Get this object as a MutableDateTime using the given chronology and its zone.MutableDateTime
toMutableDateTime(DateTimeZone zone)
Get this object as a MutableDateTime using the same chronology but a different zone.MutableDateTime
toMutableDateTimeISO()
Get this object as a MutableDateTime using ISOChronology in the same zone.java.lang.String
toString()
Output the date time in ISO8601 format (yyyy-MM-ddTHH:mm:ss.SSSZZ).java.lang.String
toString(DateTimeFormatter formatter)
Uses the specified formatter to convert this partial to a String.-
Methods inherited from interface org.joda.time.ReadableInstant
getChronology, getMillis
-
-
-
-
Method Detail
-
getZone
public DateTimeZone getZone()
Gets the time zone of the instant from the chronology.- Specified by:
getZone
in interfaceReadableInstant
- Returns:
- the DateTimeZone that the instant is using, never null
-
get
public int get(DateTimeFieldType type)
Get the value of one of the fields of a datetime using the chronology of the instant.This method uses the chronology of the instant to obtain the value. For example:
DateTime dt = new DateTime(); int year = dt.get(DateTimeFieldType.year());
- Specified by:
get
in interfaceReadableInstant
- Parameters:
type
- a field type, usually obtained from DateTimeFieldType, not null- Returns:
- the value of that field
- Throws:
java.lang.IllegalArgumentException
- if the field type is null
-
isSupported
public boolean isSupported(DateTimeFieldType type)
Checks if the field type specified is supported by this instant and chronology. This can be used to avoid exceptions inget(DateTimeFieldType)
.- Specified by:
isSupported
in interfaceReadableInstant
- Parameters:
type
- a field type, usually obtained from DateTimeFieldType- Returns:
- true if the field type is supported
-
get
public int get(DateTimeField field)
Get the value of one of the fields of a datetime.This could be used to get a field using a different Chronology. For example:
Instant dt = new Instant(); int gjYear = dt.get(Chronology.getCoptic().year());
- Parameters:
field
- the DateTimeField to use, not null- Returns:
- the value
- Throws:
java.lang.IllegalArgumentException
- if the field is null
-
toInstant
public Instant toInstant()
Get this object as an Instant.- Specified by:
toInstant
in interfaceReadableInstant
- Returns:
- an Instant using the same millis
-
toDateTime
public DateTime toDateTime()
Get this object as a DateTime in the same zone.- Returns:
- a DateTime using the same millis
-
toDateTimeISO
public DateTime toDateTimeISO()
Get this object as a DateTime using ISOChronology in the same zone.- Returns:
- a DateTime using the same millis with ISOChronology
-
toDateTime
public DateTime toDateTime(DateTimeZone zone)
Get this object as a DateTime using the same chronology but a different zone.- Parameters:
zone
- time zone to apply, or default if null- Returns:
- a DateTime using the same millis
-
toDateTime
public DateTime toDateTime(Chronology chronology)
Get this object as a DateTime using the given chronology and its zone.- Parameters:
chronology
- chronology to apply, or ISOChronology if null- Returns:
- a DateTime using the same millis
-
toMutableDateTime
public MutableDateTime toMutableDateTime()
Get this object as a MutableDateTime in the same zone.- Returns:
- a MutableDateTime using the same millis
-
toMutableDateTimeISO
public MutableDateTime toMutableDateTimeISO()
Get this object as a MutableDateTime using ISOChronology in the same zone.- Returns:
- a MutableDateTime using the same millis with ISOChronology
-
toMutableDateTime
public MutableDateTime toMutableDateTime(DateTimeZone zone)
Get this object as a MutableDateTime using the same chronology but a different zone.- Parameters:
zone
- time zone to apply, or default if null- Returns:
- a MutableDateTime using the same millis
-
toMutableDateTime
public MutableDateTime toMutableDateTime(Chronology chronology)
Get this object as a MutableDateTime using the given chronology and its zone.- Parameters:
chronology
- chronology to apply, or ISOChronology if null- Returns:
- a MutableDateTime using the same millis
-
toDate
public java.util.Date toDate()
Get the date time as ajava.util.Date
.The
Date
object created has exactly the same millisecond instant as this object.- Returns:
- a Date initialised with this datetime
-
equals
public boolean equals(java.lang.Object readableInstant)
Compares this object with the specified object for equality based on the millisecond instant, chronology and time zone.Two objects which represent the same instant in time, but are in different time zones (based on time zone id), will be considered to be different. Only two objects with the same
DateTimeZone
,Chronology
and instant are equal.See
isEqual(ReadableInstant)
for an equals method that ignores the Chronology and time zone.All ReadableInstant instances are accepted.
- Specified by:
equals
in interfaceReadableInstant
- Overrides:
equals
in classjava.lang.Object
- Parameters:
readableInstant
- a readable instant to check against- Returns:
- true if millisecond and chronology are equal, false if not or the instant is null or of an incorrect type
-
hashCode
public int hashCode()
Gets a hash code for the instant as defined inReadableInstant
.- Specified by:
hashCode
in interfaceReadableInstant
- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- a suitable hash code
-
compareTo
public int compareTo(ReadableInstant other)
Compares this object with the specified object for ascending millisecond instant order. This ordering is inconsistent with equals, as it ignores the Chronology.All ReadableInstant instances are accepted.
- Specified by:
compareTo
in interfacejava.lang.Comparable<ReadableInstant>
- Parameters:
other
- a readable instant to check against- Returns:
- negative value if this is less, 0 if equal, or positive value if greater
- Throws:
java.lang.NullPointerException
- if the object is nulljava.lang.ClassCastException
- if the object type is not supported
-
isAfter
public boolean isAfter(long instant)
Is this instant strictly after the millisecond instant passed in comparing solely by millisecond.- Parameters:
instant
- a millisecond instant to check against- Returns:
- true if this instant is strictly after the instant passed in
-
isAfterNow
public boolean isAfterNow()
Is this instant strictly after the current instant comparing solely by millisecond.- Returns:
- true if this instant is strictly after the current instant
-
isAfter
public boolean isAfter(ReadableInstant instant)
Is this instant strictly after the instant passed in comparing solely by millisecond.- Specified by:
isAfter
in interfaceReadableInstant
- Parameters:
instant
- an instant to check against, null means now- Returns:
- true if the instant is strictly after the instant passed in
-
isBefore
public boolean isBefore(long instant)
Is this instant strictly before the millisecond instant passed in comparing solely by millisecond.- Parameters:
instant
- a millisecond instant to check against- Returns:
- true if this instant is strictly before the instant passed in
-
isBeforeNow
public boolean isBeforeNow()
Is this instant strictly before the current instant comparing solely by millisecond.- Returns:
- true if this instant is strictly before the current instant
-
isBefore
public boolean isBefore(ReadableInstant instant)
Is this instant strictly before the instant passed in comparing solely by millisecond.- Specified by:
isBefore
in interfaceReadableInstant
- Parameters:
instant
- an instant to check against, null means now- Returns:
- true if the instant is strictly before the instant passed in
-
isEqual
public boolean isEqual(long instant)
Is this instant equal to the millisecond instant passed in comparing solely by millisecond.- Parameters:
instant
- a millisecond instant to check against- Returns:
- true if this instant is equal to the instant passed in
-
isEqualNow
public boolean isEqualNow()
Is this instant equal to the current instant comparing solely by millisecond.- Returns:
- true if this instant is equal to the current instant
-
isEqual
public boolean isEqual(ReadableInstant instant)
Is this instant equal to the instant passed in comparing solely by millisecond.- Specified by:
isEqual
in interfaceReadableInstant
- Parameters:
instant
- an instant to check against, null means now- Returns:
- true if the instant is equal to the instant passed in
-
toString
public java.lang.String toString()
Output the date time in ISO8601 format (yyyy-MM-ddTHH:mm:ss.SSSZZ).- Specified by:
toString
in interfaceReadableInstant
- Overrides:
toString
in classjava.lang.Object
- Returns:
- ISO8601 time formatted string, not null
-
toString
public java.lang.String toString(DateTimeFormatter formatter)
Uses the specified formatter to convert this partial to a String.- Parameters:
formatter
- the formatter to use, null means usetoString()
.- Returns:
- the formatted string, not null
- Since:
- 1.1
-
-